zoukankan      html  css  js  c++  java
  • django-2.视图与url配置

    视图与url配置

    • Django 中指定两个信息:
      • 页面的内容由视图函数(view function)生成
      • URL 在 URL 配置(URLconf)中指定

    视图函数

    • 项目目录中新建一个空文件,名为 views.py,编写视图函数

    • 视图函数举例:

    from django.http import HttpResponse
    
    def hello(request):
        return HttpResponse("Hello world")  
    

    视图函数的第一个参数是 HttpRequest 对象,按约定,名为 request ,返回值是一个HttpResponse 实例

    url配置

    创建项目时自动生成的urls.py文件中配置
    urlpatterns 变量,它负责定义 URL 与处理URL 的代码之间的映射

    • 导入视图函数from mysite.views import hello
    • urlpatterns 中添加映射url(r'^hello/$', hello)
      url() 在django.conf.urls中,第一个参数是模式匹配字符串(一个正则表达式),第二个参数是模式使用的视图函数

    动态url

    • 配置
      通过正则表达式实现,动态参数部分用()扩起来
      例子:url(r'^time/plus/(d{1,2})/$', hours_ahead)
      (d{1,2})是动态参数
    • 视图函数
      def hours_ahead(request, offset):
      定义是第二个参数就是圆括号捕获的字符串
      例子:
    from django.http import Http404, HttpResponse
    import datetime
    
    
    def hours_ahead(request, offset):
        try:
            offset = int(offset)
        except ValueError:
            raise Http404()
        dt = datetime.datetime.now() + datetime.timedelta(hours=offset)
        html = "In %s hour(s), it will be %s." % (offset, dt)
        return HttpResponse(html)
    

    其他注意

    • 创建 Django 项目后,它就处于调试模式,上线时需解除调试模式
    • 根目录为r'^$'
    • 处理请求过程
      1. 请求 /hello/ 。
      2. Django 查看 ROOT_URLCONF 设置,找到根 URL 配置。
      3. Django 比较 URL 配置中的各个 URL 模式,找到与 /hello/ 匹配的那个。
      4. 如果找到匹配的模式,调用对应的视图函数。
      5. 视图函数返回一个 HttpResponse 对象。
      6. Django 把 HttpResponse 对象转换成正确的 HTTP 响应,得到网页。
  • 相关阅读:
    STM32存储器知识的相关应用(IAP、Bit Banding)
    转:嵌入式编程(以STM32为例)中的volatile,const意义及应用场景
    STM32 :IAP实验 & 写入内部Flash
    modint
    poly
    小蒟蒻太蒻了
    volume 服务
    Vold分析
    文件系统属性详解
    PCI 百度百科
  • 原文地址:https://www.cnblogs.com/Wang-Y/p/9299431.html
Copyright © 2011-2022 走看看