视图的常用基础
1.位置参数:直接使用小括号,修改url中的正则。
2.关键字参数:在正则表达式部分为组命名。
3.常见错误:404错误(page not found)
500错误(server error)
302(重定向)
如果想看到错误视图而不是调试信息,需要修改setting中的DEBUG项:DEBUG =False ALLOWED_HOSTS=['*',]
4.HttpRequest(由Django创建)对象的属性:path(路径),encoding(编码方式),method(请求方式)
5.使用post请求方式时要把中间件的csrf注释掉,其余操作后续介绍。
6.HttpRequest对象的属性GET、POST都是QueryDict类型的对象。
7.根据键获取值:dict.get(键,默认值),如果有多个值将获取最后一个,如果为空的话则返回None值;
dict.getlist(键,默认值)获取的值以列表的方式返回
8.GET属性:在请求地址结尾使用?,之后以‘键=值’的方式拼接。
POST属性:表单控件的name属性作为键,value的属性作为值。
9.cookie
1)设置cookie信息:set_cookie(key,value='',max_age=None[expires=None])shanchu
2)删除cookie信息:delete_cookie(key):删除指定的key的cookie。
session
1)存储方式:
SESSION_ENGINE='django.contrib.sessions.backends.db'(储存在数据库中)
SESSION_ENGINE='django.contrib.sessions.backends.cache'(储存在缓存中)
SESSION_ENGINE='django.contrib.sessions.backends.cached_db'(混合存储,优先在本机内存中读取,如果 内存中没有,在数据库中读取)
2)设置session的值:request.session['键']=值
读取session的值:request.session.get(‘键’,默认值)
清除所有session,在存储中删除值部分:request.session.clear()
清除session数据:request.session.flush()
删除session中的指定键及值:del request.session['键']
设置回话超时时间:request.session.set_expiry(value)
11.在setting下配置静态文件路径:DEBUG=True
STATICFILES_DIRS=[os.path.join(BASE_DIR,'static')]
12.重定向:redirect()
13.使用Redis存储Session
1)安装包:pip install django-redis-session==0.5.6
2)设置setting文件,增加以下项:
SESSION_ENGINE = 'redis_sessions.session'
SESSION_REDIS_HOST = 'localhost'
SESSION_REDIS_PORT = 6379
SESSION_REDIS_DB = 2
SESSION_REDIS_PASSWORD = ''
SESSION_REDIS_PREFIX = 'session'