最近花了一些时间浅浅研究了django,由于时间仓促,先做一些简易记录:
1、pip install django
2、django-admin startproject xxxx(项目名)
3、django-admin startapp xxx(应用名)
4、setting设置
1)添加TEMPLATES:
dir列表中,添加模板放置的路径,一般在项目中专门创建一个模板文件夹,比如static、templates之类
2)数据库配置DATABASES:
a)engine保持原来的前缀不变,修改数据库类型。可选`` postgresql``、postgresql_psycopg2、mysql、sqlite3、oracle
b)name数据库的名称
c)user连接用户
d)password连接密码
e)host连接主机地址
f)port连接端口
3)allowed_host添加本机ip地址,这样当启动服务,添加0.0.0.0:xxxx时才能被其他机器访问
4)MIDDLEWARE注释掉# 'django.middleware.csrf.CsrfViewMiddleware',防止处理post请求时发生不必要的麻烦
5)INSTALLED_APPS中添加要使用的创建的app应用名称
6)debug的报错信息开关
5、URL的设置
1)常用正则:
. (dot) 任意单一字符
\d 任意一位数字
[A-Z] A 到 Z中任意一个字符(大写)
[a-z] a 到 z中任意一个字符(小写)
[A-Za-z] a 到 z中任意一个字符(不区分大小写)
+ 匹配一个或更多 (例如, \d+ 匹配一个或 多个数字字符)
[^/]+ 一个或多个不为‘/’的字符
* 零个或一个之前的表达式(例如:\d? 匹配零个或一个数字)
* 匹配0个或更多 (例如, \d* 匹配0个 或更多数字字符)
{1,3} 介于一个和三个(包含)之前的表达式(例如,\d{1,3}匹配一个或两个或三个数字)
2)配置的方法中不带参数,只要方法名
3)要取设置的URL中的匹配为参数使用的话,需要给这个匹配添加括号,然后在函数使用中,按顺序传参接收。如xxx/(\d+)/xxxx
6、app的url配置也在总的url.py中配置,每个app有自己的views,所有的处理总是在views.py中进行
7、启动项目
python manage.py runserver 0.0.0.0:8000
8、关于request
1)request.method获取请求该URL的方法
2)request.body获取请求该URL的传参
3)request.META获取请求该URL的所有可能的header
4)request.POST当类型为multipart/form-data时有数据
5)request.content_type获取请求的类型
6)request.path除域名以外的请求路径,以正斜杠开头, "/hello/"
7)request.get_host() 主机名(比如,通常所说的域名), "127.0.0.1:8000" or "www.example.com"
8)request.get_full_path() 请求路径,可能包含查询字符串, "/hello/?print=true"
9)request.is_secure() 如果通过HTTPS访问,则此方法返回True, 否则返回False
9、render_to_response中,第一参数为模板名称,二为字典,键为模板中的变量名
from django.shortcuts import render_to_response
render_to_response('time.html',{'current_date':request.content_type})
10、HttpResponse中参数只为返回的值
from django.http import HttpResponse