zoukankan      html  css  js  c++  java
  • 初步学习Django-第三篇:URLS.PY文件详解

    该文章转至博科:https://www.cnblogs.com/luchuangao/p/7113667.html

    urls.py:URL分发器(路由配置文件)
    URL配置(URLconf)就像是Django所支撑网站的目录。它的本质是URL模式以及要为该URL模式调用的视图函数之间的映射表。你就是以这种方式告诉Django,对于这个URL调用这段代码,对于那个URL调用那段代码。URL的加载是从配置文件中开始。

    1、urlpatterns的两种形式:

    没有前缀的情况,使用的列表(推荐方式)
    urlpatterns = [
    url(r'^hello/$',views.hello)
    ]

    有前缀的情况,使用patterns方法,过时的方法
    from django.conf.urls import url,patterns
    from hello import views

    urlpatterns = patterns(",
    (r'^hello/$,views.hello),
    ")
    或者
    from django.conf.urls import patterns
    urlpatterns = patterns('hello',
    (r'^hello/$','views.hello'),
    )

    2、URL模式:

    urlpatterns = [
    url(正则表达式,view函数,参数,别名,前缀)
    ]

    参数说明:
    *一个正则表达式字符串。
    *一个可调用对象,通常为一个视图函数或一个指定视图函数路径的字符串。
    *可选的要传递给视图函数的默认参数(字典形式)。
    *一个可选的name参数
    *路径前缀

    3、URL分解器,include函数:

    通常一个URL分解器对应一个URL配置模块,它可以包含多个URL模式,也可以包含多个其他URL分解器。通过这种包含结构设计,实现Django对应URL的层级解析。

    URL分解器是Django实现app与项目解耦的关键。通常由include方法操作的URL配置模块,最终会被解释成为URL分解器

    为什么admin模块引入的时候没有使用include?
    url(r'^admin/', admin.site.urls),

    4、URL常见写法示例,正则表达式

    url(r'^test/d{2}/$', views.test)
    url(r'^test/(?P<id>d{2})/$', views.test)
    url(r'^test2/(?P<id>d{2})/(?P<key>w+)/$', views.test)

    关于正则表达式的使用,可以参考<建议爬虫实战中的正则表达式讲解>,和网上一些不错的资料
    http://www.cnblogs.com/huxi/archive/2010/07/04/1771073.html

  • 相关阅读:
    Android中实现ListView圆角效果[转]
    移动终端开发必备知识【转】
    android-supporting-multiple-devices
    Android @+id与@id的区别
    loading android
    Loading Image
    合理的薪酬策略——揭秘万达电商(3)
    Node.js的helloworld 程序
    codeforces Gravity Flip 题解
    HDU 3853 向下向右找出口问题-期望dp
  • 原文地址:https://www.cnblogs.com/hcyjjp/p/10352652.html
Copyright © 2011-2022 走看看