Django 最基础
知道Django是什么,怎么跑起来,和前端的交互的部分不用太花时间看,和数据库的交互要着重看
Django,OpenStacks
Django的models,Restframework
一.创建项目
django-admin startproject myblog
../myblog
--myblog 项目的一个容器,默认和项目名称一致,可以修改 但是不建议
--wsgi.py (Python Web Server Gateway Interface)python服务器网关接口,是python应用与Web服务器之间的接口。非常重要,一般不要动。
--urls.py URL配置文件
--settings.py --非常重要,下面单讲
--__init__.py
--manage.py
2.manage.py --项目管理器
runserver --启动服务器 python自带的一个小型的服务器
python manage.py runserver
python manage.py runserver 999 --端口号
3.settings.py
静态文件路径设置:
STATICFILES_DIRS = [
os.path.join(BASE_DIR,'static')
]
| BASE_DIR | 项目根目录 | |
| SECRET_KEY | 一般不动 | |
| DEBUG | 实际生产中一般设置为false | |
| ALLOWED_HOSTS | 只允许这里的host访问 一般不填 | |
| INSTALLED_APPS | 如果我们创建了自己的应用 要写进去 | |
| MIDDLEWARE | 不需要去管 | |
| ROOT_URLCONF | URL的根文件,只想urls,py那个文件 | |
| TEMPLATES | 关于模板的配置,初学暂不管 | |
| WSGI_APPLICATION | 不动 | |
| DATABASES | 数据库 | |
| AUTH_PASSWORD_VALIDATIONS | ||
| LANGUAGE_CODE | ||
| TIME_ZONE | ||
| STATIC_URL | 静态文件的地址,比如所css JavaScript以及一些图片文件等 |
二.创建应用
1.进入manage.py同级目录,输入python manage.py startapp blog
2.把应用名添加到settings.py中的INSTALLED_APPS里
3.应用目录介绍
migrations --数据迁移模块
__init__.py
__init__.py
admin.py #该应用的后台管理系统配置
apps.py #该应用的一些配置,django 1.9之后自动生成,可以不使用
models.py #数据模块 使用ORM框架
tests.py #自动化测试模块 在这里编写测试脚本
views.py #执行响应的代码所在模块,代码逻辑处理的主要地点,项目中大部分代码均在这里编写
4.创建第一个页面
views.py
每个响应对应一个函数,函数必须返回一个响应
函数必须存在一个参数,一般约定为request
每一个响应函数对应一个url,要配置urls.py
urls.py
每个URL都以url的形式写出来
url函数放在urlpatterns列表中
url函数三个参数:URL(正则),对应方法,名称
urls.py的优化
在根urls.py中引入include
在APP目录下创建urls.py文件,格式与根urls.py相同
根urls.py中url函数第二个参数改为include('blog.urls')
注意事项
根urls.py针对APP配置的URL名称,是该APP所有函数的总路径
配置URL时注意正则表达式结尾符号$和/
三.第一个templates
HTML文件
使用了Django模板语言(Django Template Language,DTL)
可以使用第三方模板(如Jinja2),在settings.py中templates中修改backend参数即可
步骤:
1.在APP的根目录下创建名叫templates的目录
2.在该目录下创建HTML文件
3.在views.py中返回render()
DTL初步使用
render()函数中支持一个dict类型参数、
该字典是后台传递到模板的参数,键为参数名
在模板中使用{{参数名}}来直接使用
Django查找template的时候,会按照INSTALLED_APPS中的添加顺序查找templates,不同APP下Templates目录中的同名.html文件会造成冲突。
解决方案:
在APP的template目录下创建以APP名为名称的目录
将html文件放入新创建的目录下
编辑响应函数
使用request.post['参数名']获取表单数据
models.Article.objects.create(title,content)创建对象
django对网站安全性有一定要求,如果提交post请求,则应该要添加如下一句话:{% csrf_token%}
修改数据
aiticle.title = title
aiticle.save()

浙公网安备 33010602011771号