1,建站步骤:
1)django-admin.exe startproject mysite
创建完后的目录结构:
- mysite # 对整个程序进行配置
- init
- settings # 配置文件
- url # URL对应关系
- wsgi # 遵循wsgi规范,处理soceket的规范,一般用uwsgi
- manage.py # 管理django程序,例如runserver,startapp,makemigration,migrate
备注:如果不是pycharmproject根目录下建站点,import会被pycharm提示飘红
2)mysite/ python3 manage.py runserver 127.0.0.1:8001,地址和端口号不打默认是127.0.0.1:8000,或者 pycharm打开mysite运行
3)mysite/ python3 manage.py startapp app01
app目录:
- migrations # 数据库相关的操作,这里会生成相关的数据库操作记录
- init # python2文件夹必须有个init(from … import…,python2会认为文件夹而报错,只有含init文件时Python2才能导入,python3可以没有init)
- admin # django提供的后台管理程序
- app # 配置当前app
- models # 创建数据库表,ORM,写指定的类,通过命令就可以创建数据库结构
- test # 开发交
- views # 和app01相关的所有业务,主要写业务逻辑代码,例如主机管理,防火墙管理
4)建文件夹:templates,static,upload, models
5)settings:TEMPLATES(添加项目),STATICFILES_DIRS(新增),MIDDLEWARE(注释掉),INSTALLED_APPS(添加项目),DATABASES(修改)
i,TEMPLATES # 模板路径,用render打开网页时需要修改TEMPLATES下的参数(注意render不能使用相对路径)
'DIRS':[os.path.join(BASE_DIR, 'templates')]
ii,STATICFILES_DIRS # 静态目录,需新增该参数,静态网页包括例如css,js
STATICFILES_DIRS= (
os.path.join(BASE_DIR, 'static'),
)
iii,MIDDLEWARE
middleware.csrf.CsrfViewMiddleware # 注释掉,表单提交到login不会报csrf错
iv,INSTALLED_APP
添加'app01' # 用于数据库连接
v,DATABASES # 改为mysql连接
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME':'dbname', # 数据库名,这个django无法创建,得先自己创建
'USER': 'root',
'PASSWORD': 'xxx',
'HOST': '',
'PORT': '',
}
}
6)urls和app01/views中需要导入的模块
urls:
from django.conf.urls import url
import app01.views
app.views:
from django.shortcuts import HttpResponse
from django.shortcuts import redirect
from django.views import View
import os
2,django的流程
客户端 —> 路由系统(urls)—> app.views —> templates、静态目录、数据库