python基础7-Django基础篇
安装django
pip3 install django
1.创建django工程
django-admin startproject mysite #mysite即工程名称
2.目录解读
mysite
- mysite #对整个程序进行配置
- init #
- settings #配置文件
- url #URL对应关系
- wsgi #遵循WSGI规范,以后用 uwsgi + nginx
- manage.py #管理Django程序:
- python manage.py
- python manage.py startapp xx
- python manage.py makemigrations
- python manage.py migrate
运行django
python manage.py runserver 127.0.0.1:8000
3.创建app
cd 工程名
python manage.py startapp cmdb
4.目录介绍
migrations 数据库修改表结构的记录 admin Django为我们提供的后台管理 apps 配置当前app models orm(即关系对象映射),写指定的类,通过命令可以创建数据库结构 tests 单元测试 views 业务代码
5.模板路径
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',
],
},
},
]
注:在DIRS的列表里添加 os.path.join(BASE_DIR, 'templates') ,我踩过坑是由于我看到最后一行,像是已经有了,就没看上面!
6.配置静态目录static
STATIC_URL = '/static/'
添加如下
STATICFILES_DIRS = (
os.path.join(BASE_DIR, 'static'),
)
调用静态文件如下:
<link rel="stylesheet" href="/static/common.css" />
7.form表单需要提交遇到的问题
1)如图1:csrf问题
解决办法:先将settings.py中MIDDLEWARE内关于csrf的配置注释掉
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',
]
2)如图2:urls.py中url
urlpatterns = [
path('admin/', admin.site.urls),
path('login/',views.login),
path('home/', views.home),
]
与form中action的
<form action="/login/" method="post"> url后面的那个 “/” 要保持一致,要有都有,要无都无

8.定义路由规则 urls.py
9.定义视图函数 app下views.py
10.模板渲染
特殊的模板语言
第一种 {{ 变量名 }}
第二种 for循环 特别注意{}和%无间隔,困扰半天
{% for %}
{% endfor %}
第三种条件:
{% if %}
{% endif %}
第四种:当然for或if均可以嵌套的
11.
12.
13.
14.
15.
16
17.
18.
19.
20.

浙公网安备 33010602011771号