Django 中的重要概念
- urls.py
拦截url,映射到视图函数 - 视图 views
存放函数的地方。分析request,按逻辑返回页面 - 模型 models.py
定义模型类,模型类映射到d schema。 - 模板 templates
模板是HTML with DTL(Django Template Language)。返回给客户的页面,是通过模板和模型共同渲染出来的
Django项目目录结构
"项目名:Djangosite;应用名:app;数据类:Moment;来自《Python高效开发实战 Django Tornado Flask Twisted》"
- Djangosite
- manage.py
"管理本项目" - Djangosite
- init.py
- settings.py
"配置数据库等,更换数据库只需要在settings.py中配置即可,不需要更改model.py中的代码。INSTALLED_APPS" - urls.py
"项目级路由文件" - wsgi.py
- app
- init.py
- admin.py
"注册后台要管理的模型类" - apps.py
- models.py
"定义「模型类」。「模型类」和「数据库表」一对一映射。" - views.py
"定义「路由响应函数」(也有称视图函数)" - migrations
"由manage.py维护,存放数据迁移中间文件"- init.py
- tests.py
- urls.py
"应用级路由文件" - forms.py
- templates
"模板是包含DTL的HTML文件(HTML with Django Template Language)"- moments_input.html
- manage.py
管理项目用到的命令
- django-admin.py startproject djangosite
"创建项目"
- python manage.py startapp app
"创建应用"
- python manage.py runserver 0.0.0.0:8001
"启动服务器"
- python manage.py makemigrations app
"生成数据迁移中间文件"
- python manage.py migrate
"执行数据迁移"
- python manage.py createsuperuser
- python manage.py changepassword username
- python manage.py shell
"进入本项目的shell, 便于调试管理本项目"
- python manage.py collectstatic
"收集静态文件。"
- 一些函数
- {% url 'name'%}
"在模板文件中反映射网址名称->URL的方式" - django.urls.reverse('url_name', args=())
"在.py模型中反映射网址名称->URL的方式,接收网址名称作为第一个参数" - django.shortcuts.render(requrest, 'template.html', {'model': 'value'})
"render函数,用于渲染模板"
- {% url 'name'%}
- 一些名词
- QuerySet API
- 部署Django项目
- Django环境搭建
- 下载源码安装 https://www.djangoproject.com/download/
"tar -xvf django-1.11.8.tar.gz
cd django-1.11.8
(sudo) python setup.py install" - 安装Apache2和mod_wsgi
- 配置各种文件
"部署文件的对应关系:sitename.conf --> wsgi.py --> settings.py --> urls.py --> views.py" - 检查文件夹/数据库权限
- 激活新网站
- 下载源码安装 https://www.djangoproject.com/download/
- 静态文件的部署
- Django环境搭建
知识储备
- Python面向对象
- 正则表达式
- RDB, ORM
- 设计模式(如MVC)
- HTTP协议
- HTTP & CSS
网友评论