美文网首页Python学习
Django的视图层 反向解析

Django的视图层 反向解析

作者: wangcc_sd | 来源:发表于2019-03-18 09:48 被阅读78次

在使用Django 项目时,一个常见的需求是获得URL 的最终形式,以用于嵌入到生成的内容中(视图中和显示给用户的URL等)或者用于处理服务器端的导航(重定向等)。人们强烈希望不要硬编码这些URL(费力、不可扩展且容易产生错误)或者设计一种与URLconf 毫不相关的专门的URL 生成机制,因为这样容易导致一定程度上产生过期的URL。

在需要URL 的地方,对于不同层级,Django 提供不同的工具用于URL 反查:

在模板中:使用url 模板标签。
在Python 代码中:使用django.core.urlresolvers.reverse() 函数。

urls.py:

from django.conf.urls import url

from . import views

urlpatterns = [
    #...
    url(r'^articles/([0-9]{4})/$', views.year_archive, name='news-year-archive'),
    #...
]

在模板中:

<a href="{% url 'news-year-archive' 2012 %}">2012 Archive</a>

<ul>
{% for yearvar in year_list %}
<li><a href="{% url 'news-year-archive' yearvar %}">{{ yearvar }} Archive</a></li>
{% endfor %}
</ul>

在python中

from django.core.urlresolvers import reverse
from django.http import HttpResponseRedirect

def redirect_to_year(request):
    # ...
    year = 2006
    # ...
    return HttpResponseRedirect(reverse('news-year-archive', args=(year,)))   # 同redirect("/path/")
Django的视图层 反向解析

相关文章

  • Django的视图层 反向解析

    在使用Django 项目时,一个常见的需求是获得URL 的最终形式,以用于嵌入到生成的内容中(视图中和显示给用户的...

  • django

    from django.core.urlreolvers import reverse 反向解析url,具体用法可...

  • Django模板-反向解析

    反向解析 随着功能的增加会出现更多的视图,可能之前配置的正则表达式不够准确,于是就要修改正则表达式,但是正则表达式...

  • Django模板[反向解析]

    反向解析 URL的参数] [情况一:位置参数][情况二: 关键字参数] 1) 打开booktest/views.p...

  • Django模板反向解析

    如果是写死的超链接,一但后台路由有改动,前端必然报404错误 前端的超链接通过路由来生成,不要写死,给路由设置别名...

  • django的url反向解析

    在django项目开发中,最常见的一个需求是获得url的最终形式,以用于嵌入到生成的内容中或者是views中,或者...

  • django的url反向解析

    在django项目开发中,最常见的一个需求是获得url的最终形式,以用于嵌入到生成的内容中或者是views中,或者...

  • Linux智能DNS服务搭建之Bind服务(二)

    一、DNS正向解析与反向解析 1.DNS正向解析与反向解析简介 2.DNS正向解析与反向解析配置 1)配置正向解析...

  • 十四 Django-反向解析

    反向解析 一、概念 随着功能的增加会出现更多的视图,可能之前配置的正则表达式不够准确,于是就要修改正则表达式,但是...

  • CAD布局图 其他新视口不显示某图层 冻结在除当前视口以外所有

    CAD布局图 其他新视口不显示某图层 la→选择相应的图层→右键→视口冻结图层→冻结在除当前视口以外所有视口中

网友评论

    本文标题:Django的视图层 反向解析

    本文链接:https://www.haomeiwen.com/subject/kwgmmqtx.html