• The Django Book 第三章 试图和URL配置


    之前自学Django也有一段时间了,再过一个月就要入职新公司了(Python Django开发),即使现在还在入门级徘徊,再好好把Django基础过一遍吧。

    The Django Book 第三章 试图和URL配置

    总结:

    一、视图返回HttpResponse请求, Http404

    from django.http import HttpRespnse
    
    def hello(request):
    
        return HttpResponse(“<body>Hello World</body>”)
    
     
    
    from django.http imort Http404
    
    def hours_ahead(request , offset):
    
        try:
    
            offset = int(offset)
    
        except:
    
            raise Http404()

    二、地址页面的请求过程

    1. 进入的请求为/hello/
    2. Django通过settings.py中的ROOT_URLCONF配置决定根URLconf
    3. Django在URLconf中的所有URL模式中,查找第一个匹配/hello/的条目。
    4. 如果找到匹配,将调用相应的视图函数
    5. 视图函数返回一个HttpResponse
    6. 6.Django转换HttpResponse为一个适合的HTTP response, 以Web page显示出来

    三、settings.py

    1.ROOT_URLCONF = 'mysite.urls' 配置根urlconf

    2.TIME_ZONE = 'Aisa/Shanghai' 配置时区

    扩展:

    1. 要想在url中传入参数,则在正则表达式中用圆括号括起来
    2. url中如果定位为如下:(r'^time/plus/(d{1,2})' 则视图函数中第二个参数(第一个为request)获取正则表达式的第一个分组[位置];也可使用关键字定义(r'^time/plus/(?P<id>d{1,2})'),则视图函数中想获取该值,则必须传入参数id。

    其他:

    1. 在视图函数中不臆测参数值的合法性,即使offset在url中有约束
      def hours_ahead(request , offset):
      
          try:
      
              offset = int(offset)
      
          except:
      
              raise Http404()
    2. 页面主动出错,在视图函数中添加assert False

    另外:

    1. sublime2 中添加pep8lint,对代码进行Pclint检查
    2. sublime2 中添加前段ZenCoding插件已改名为EMMET
  • 相关阅读:
    Android
    Android
    Android
    Android
    Android
    【工作中学习】CreateProcessAsUser失败,错误码:1314
    【Angular JS】网站使用社会化评论插件,以及过程中碰到的坑
    【Angular JS】正确调用JQuery与Angular JS脚本
    【工作】Proxy Server的优化
    AWS ELB Sticky Session有问题?别忘了AWSELB cookie
  • 原文地址:https://www.cnblogs.com/yangqionggo/p/3395617.html
Copyright © 2020-2023  润新知