温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

django模板配置视图和url的方法

发布时间:2020-08-06 09:31:24 来源:亿速云 阅读:165 作者:小新 栏目:编程语言

这篇文章主要介绍了django模板配置视图和url的方法,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获。下面让小编带着大家一起了解一下。

在创建项目时,Django会自动创建URL配置,在urls.py文件中

文件的默认内容如下所示:

"""mysite URL Configuration
    The urlpatterns list routes URLs to views. For more information please see:
        https://docs.djangoproject.com/en/1.8/topics/http/urls/
    Examples:
    Function views
        1. Add an import:  from my_app import views
        2. Add a URL to urlpatterns:  url(r'^$', views.home, name='home')
    Class-based views
        1. Add an import:  from other_app.views import Home
        2. Add a URL to urlpatterns:  url(r'^$', Home.as_view(), name='home')
    Including another URLconf
        1. Add an import:  from blog import urls as blog_urls
        2. Add a URL to urlpatterns:  url(r'^blog/', include(blog_urls))
    """
    from django.conf.urls import include, url
    from django.contrib import admin
    urlpatterns = [
        url(r'^admin/', include(admin.site.urls)),
]

去掉注释,剩下的都是精华,逐行分析:

第一行从 django.conf.urls 模块中导入两个函数:include,用于导入另一个 URL 配置模块;url,使用正则表达式模式匹配浏览器中的 URL,把它映射到 Django 项目中的某个模块上。

第二行从 django.contrib 模块中导入 admin 函数。这个函数传给 include 函数,加载 Django 管理后台的 URL。 

第三行是 urlpatterns,即 url() 实例列表。Django期待URL配置中有urlpatterns这个对象,它负责定义 URL 与处理URL 的代码之间的映射。在 URL 配置中添加 URL 和视图的方式是,把 URL 模式映射到视图函数上。

注意:

url函数的第一个参数是正则表达式,第二个是视图函数

如果我们指定的URL模式要求末尾有/,默认情况下,如果请求的 URL 不匹配任何 URL 模式,而且末尾没有斜线,那么 Django 会把它重定向到末尾带斜线的 URL

我们以对象的形式传入视图函数,而没有调用函数

Django处理请求的过程

创建Django项目时,自动创建了setting.py文件,保存了当前项目的全部配置,各个配置的名称都是大写,例如TEMPLATE_DIRS,DATABASES等,其中ROOT_URLCONF,指向自动生成的urls.py,它告诉Django,网站的URL配置在哪个Python模块。收到针对某个 URL的请求时,Django 加载 ROOT_URLCONF 设置指定的 URL 配置;然后按顺序检查 URL 配置中的各个 URL 模式,依次与请求的 URL 比 较,直到找到匹配的模式为止。

找到匹配的模式后,调用对应的视图函数,把一个HttpRequest对象作为第一个参数传给视图函数,视图函数必须返回一个HttpResponse对象。

综上,整个过程如下:

收到请求

Django查看ROOT_URLCONF设置,找到根URL配置

Django比较URL配置中的各个URL模式,找到与请求匹配的那个

如果找到,调用对应的视图函数

视图函数返回一个HttpResponse对象

Django把HttpResponse对象转换成正确的HTTP响应,得到网页。

感谢你能够认真阅读完这篇文章,希望小编分享django模板配置视图和url的方法内容对大家有帮助,同时也希望大家多多支持亿速云,关注亿速云行业资讯频道,遇到问题就找亿速云,详细的解决方法等着你来学习!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI