欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

视图的常用基础

程序员文章站 2024-03-24 10:55:46
...

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'