初识Django
Python下有许多款不同的 Web 框架,Django是重量级选手中最有代表性的一位,许多成功的网站和APP都基于Django。Django采用了MVT的框架模式,即模型M,视图V和模版T。它最初是被开发来用于管理一些以新闻内容为主的网站的,即是CMS(内容管理系统)软件。
Django的MTV模式
Model(模型):负责业务对象与数据库的对象(ORM)
Template(模版):负责如何把页面展示给用户
View(视图):负责业务逻辑,并在适当的时候调用Model和Template
此外,Django还有一个urls分发器,它的作用是将一个个URL的页面请求分发给不同的view处理,view再调用相应的Model和Template。
1、安装django
pip3 install django
2、创建django工程
# 创建Django工程
django-admin startproject 工程名
# 运行Django功能
python manage.py runserver 127.0.0.1:8001
#创建app
python manage.py startapp app名
3、配置模板路径
project.settings里(用pycharm创建默认就是templates)
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, 'templates')],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'django.template.context_processors.debug',
'django.template.context_processors.request',
'django.contrib.auth.context_processors.auth',
'django.contrib.messages.context_processors.messages',
],
},
},
]
4、静态目录的配置
project.settings里
STATIC_URL = '/static/'
STATICFILES_DIRS = (
os.path.join(BASE_DIR,"static"),
)
5、注册app
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'app01',
]
6、创建数据库
数据库的创建:
project.app.models里
from django.db import models
# app01_userinfo
class UserInfo(models.Model):
# id列,自增,主键
# 用户名列,字符串类型,指定长度
username = models.CharField(max_length=32)
password = models.CharField(max_length=64)
7、执行命令
python manage.py makemigrations
python manage.py migrate
8、运行应用
进入项目所在目录
python manage.py runserver 8000
Django使用数据库
Django接默使用SQLite3,打开setting.py可以看到数据库部分的配置如下:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
}
}
Django使用MySQL数据库
1、修改为pymysql,在project同名文件夹下的__init__文件中添加如下代码即可:
import pymysql
pymysql.install_as_MySQLdb()
2、django连接MySQL需要pymysql模块:
pip install pymysql
3 更改项目setting.py中对数据库的配置为:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'test',
'USER': 'username',
'PASSWORD': 'passwd',
'HOST': 'localhost',
'PORT': '3306'
}
}
4 最后通过python manage.py migrate命令,Django会在数据库中自动创建相应的表。