Django简介
1. Djiango开发模式(MTV)
1.1 MTV 模式
- M 代表模型(Model): 负责业务对象和数据库的关系映射(ORM)。
- T 代表模板 (Template):负责如何把页面展示给用户(html)。
- V 代表视图(View): 负责业务逻辑,并在适当时候调用Model和Template。
- URL分发器,将一个个URL的页面请求分发给不同的View处理,View再调用相应的Model和Template
1.2 运行流程
- 用户通过浏览器向服务器发起一个请求(request),这个请求回去访问视图函数,(如果不涉及到数据调用,那么这个时候视图函数返回一个模板也就是一个网页给用户),视图函数调用模型,模型去数据库查找数据,然后逐级返回,视图函数把返回的数据填充到模板中空格中,最后返回网页给用户
2. Django项目创建
2.1 创建django project
django-admin startproject mysite(项目名)
- 当前目录会生成mysite工程
1、manage.py ----- Django项目里面的工具,通过它可以调用django shell和数据库等。 2、settings.py ---- 包含了项目的默认设置,包括数据库信息,调试标志以及其他一些工作的变量。 (1)DEBUG 设置TRUE 可以看到报错信息 (2)INSTALLED_APPS---》放app的名字('app0.apps.App0Config',) (3)MIDDLEWARE--》中间件 (4)ROOT_URLCONF 'day07.urls' --》 #总路由位置 ,可以改成app01.urls,那么app01中的urls文件就是主路由 (5)TEMPLATES---》指定模板文件存放的路径' #DIRS': [os.path.join(BASE_DIR ,'templates')], (6)DATABASES---》指定连接的数据库 (7)静态文件配置:(名字一定不能错) STATIC_URL = '/static/' #以这个名字(static)为准发起请求,往下依次找下面[]内文件名 STATICFILES_DIRS=[ os.path.join(BASE_DIR, 'static'), ] (8)APPEND_SLASH=False # 设置成false,再带后缀斜杠,就不能匹配了 (9)显示orm转换过程的sql语句 LOGGING = { 'version': 1, 'disable_existing_loggers': False, 'handlers': { 'console':{ 'level':'DEBUG', 'class':'logging.StreamHandler', }, }, 'loggers': { 'django.db.backends': { 'handlers': ['console'], 'propagate': True, 'level':'DEBUG', }, } } 3、urls.py ----- 负责把URL模式映射到应用程序。 from django.conf.urls import url from django.contrib import admin from app0 import views urlpatterns = [ url(r'^admin/', admin.site.urls), #从上往下查找执行 url(r'^index/',views.index), url(r'^login/',views.login), url(r'^login_submit/',views.login_submit), ] 4、 wsgi服务器配置协议
- 在mysite里创建应用(app)
python manage.py startapp 应用名(app)
- 启动django项目
启动django--python3
-manage.py runserver 127.0.0.1:8002 -manage.py runserver 8002 -manage.py runserver
- 停止
ctrl+c
- 目录介绍
settings--django全局配置文件
urls---路由关系
wsgi----- 服务器配置协议
2.1 Django项目中的app文件使用
- 创建命令
python manage.py startapp app01(文件名)
- 目录介绍
migrations:数据库迁移的文件
admin:后台管理相关
apps:app配置相关
models:模型,数据库相关,写一些类
test:测试相关
views:视图函数