pip3 install django
命令:
# 创建Django程序
django-admin startproject mysite
# 进入程序目录
cd mysite
# 启动socket服务端,等待用户发送请求
python manage.py runserver 127.0.0.1:8080
Django程序目录:
mysite
mysite
- settings.py # Django配置文件
- url.py # 路由系统:url->函数
- wsgi.py # 用于定义Django用socket, wsgiref,uwsgi
# 对当前Django程序所有操作可以基于 python manage.py runserver
manage.py
1. 创建project
2. 配置:
- 模板路径
template目录
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [os.path.join(BASE_DIR, 'template')],
'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',
],
},
},
]
- 静态文件路径
static目录
STATIC_URL = '/static/'
STATICFILES_DIRS = (
os.path.join(BASE_DIR,'static'),
)
3. 额外配置
MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
#'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
]
母版
1 | layout.html |
Cookie
在浏览器上保存的键值对
1 | def index(request): |
路由系统
1 | url -> 函数 |
PS:
终止符:
^edit$
伪静态
url(r'^edit/(\w+).html$', views.edit),
d. 路由分发
urls.py
url(r'^app01/', include('app01.urls')),
app01.urls.py
url(r'^index.html$', views.index),
e. /add-user/(\d+)/ -> def add_user(request,a1) name=n1
根据名称可以反向生成URL
1. 在Python代码中
from django.urls import reverse
v = reverse('n1',kwargs={'a1':1111})
print(v)
2. url(r'^login/', views.login,name='m1')
{% url "m1" %}
ORM操作
步骤:
1 | 1. 创建数据库 |
1 | MySQL -> settings.databases |
ORM操作表:
创建表
修改表
删除表
操作数据行:
增删改查
python manage.py makemigrations
- 视图函数 CBV,FBV