来自 django 基本模板文件中 url 的变量

Posted

技术标签:

【中文标题】来自 django 基本模板文件中 url 的变量【英文标题】:Variable from url in django base template file 【发布时间】:2017-05-03 18:32:54 【问题描述】:

我想在我的 django 基础模板文件变量上使用这将取决于我的部分 url 地址。

例如,这些是我的网址: http://localhost:8000/name1/start http://localhost:8000/name2/start

在基本的 html 文件中,我想在 h1 标签之间写:

名称

根据网址,我应该会看到

姓名1

名字2

重要信息,我不喜欢为它创建一个块,因为该信息将在每个页面上,所以我不想在每个视图/模板中编写相同的块

谢谢

【问题讨论】:

【参考方案1】:

您需要的是一个自定义上下文处理器,它将解析 URL 并将名称位附加到上下文中。然后它将在您的所有视图中可用。您可能想查看其中一个内置的 Django 示例。这是文档的链接https://docs.djangoproject.com/en/1.11/ref/templates/api/#writing-your-own-context-processors

【讨论】:

【参考方案2】:

您应该在 url.py 中创建一个模式,如下所示:

r'^(?P<name>\w+)/start', views.your_view),

并将 your_view 定义为:

def your_view(request, name):
   return render(request, 'your_template', 
      'name': name,
   )

【讨论】:

【参考方案3】:

网址看起来像

url(r'^anyname/(?P<query>.+)/$', views.viewToShow,name="Filter")

view.py 看起来像

def viewToShow(request,query):

   print(query)#this query contains that url value

【讨论】:

以上是关于来自 django 基本模板文件中 url 的变量的主要内容,如果未能解决你的问题,请参考以下文章

显示来自 django 模板的图像 url

Django04-模板系统Template

Django 模板视图 url 或 FileField

是否可以将关键字参数传递给 Django % url % 模板标签?关键字参数值应该来自 html 标签

来自 % for % 的 Django 模板变量循环到 Javascript

在 Django url 模板标签中获取 javascript 变量的值