著名的MVC模式:所谓MVC就是把web应用分为模型(M),控制器(C),视图(V)三层;他们之间以一种插件似的,松耦合的方式连接在一起。
- 模型负责业务对象与数据库的对象(ORM)
- 视图负责与用户的交互(页面)
- 控制器(C)接受用户的输入调用模型和视图完成用户的请求。
而Django是MTV模式,两者没有本质上的差别,也是为了各组件之间保持松耦合关系。
- Model(模型):负责业务对象与数据库的对象(ORM)
- Template(模版):负责如何把页面展示给用户----------V
- View(视图):负责业务逻辑,并在适当的时候调用Model和Template---------------C
Django还有一个url分发器,它的作用是将一个个URL的页面请求分发给不同的view处理,view再调用相应的Model和Template
django的流程和命令行
1、创建一个Django对象
django-admin startproject mysite
- manage.py ----- Django项目里面的工具,通过它可以调用django shell和数据库等。
- settings.py ---- 包含了项目的默认设置,包括数据库信息,调试标志以及其他一些工作的变量。
- urls.py ----- 负责把URL模式映射到应用程序。
2、创建一个应用
python manage.py startapp blog(应用名称)
这是一个空白pro包含的内容,每多一个应用多一个文件
C:. │ db.sqlite3 │ manage.py │ ├─blog │ │ admin.py │ │ apps.py │ │ models.py │ │ tests.py │ │ views.py │ │ __init__.py │ │ │ └─migrations │ __init__.py │ └─mysite │ settings.py │ urls.py │ wsgi.py │ __init__.py │ └─__pycache__ settings.cpython-35.pyc urls.cpython-35.pyc wsgi.cpython-35.pyc __init__.cpython-35.pyc
把 blog 加入到settings.py中的INSTALLED_APPS中
3、settings配置
TEMPLATES STATICFILES_DIRS=( os.path.join(BASE_DIR,"statics"), ) STATIC_URL = '/static/' # 我们只能用 STATIC_URL,但STATIC_URL会按着你的STATICFILES_DIRS去找#4 根据需求设计代码 url.py view.py
4、使用模板
render(req,"index.html")
5、启动Django项目
python manage.py runserver 127.0.0.1:8090
6、连接数据库,操作数据
创建表:python manage.py makemigrations
同步数据库: python manage.py migrate
注意:在开发过程中,数据库同步误操作之后,难免会遇到后面不能同步成功的情况,解决这个问题的一个简单粗暴方法是把migrations目录下的脚本(除__init__.py之外)全部删掉,再把数据库删掉之后创建一个新的数据库,数据库同步操作再重新做一遍。
7、当访问http://127.0.0.1:8000/admin/时:
所以我们需要为进入这个项目的后台创建超级管理员:需要先同步数据库
python manage.py createsuperuser
设置好用户名和密码后便可登录啦!
8、清空数据库
python manage.py flush
9、查询某个命令的详细信息
jango-admin.py help startapp
10、启动交互界面
python manage.py shell