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

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

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

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

{{ 名称 }}

根据网址,我应该会看到

姓名1

名字2

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

谢谢

【问题讨论】:

    标签: python html css django


    【解决方案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
        

        【讨论】:

          猜你喜欢
          • 2014-06-25
          • 2017-09-05
          • 2017-07-12
          • 2013-01-23
          • 2015-06-21
          • 2011-11-23
          • 2022-11-03
          • 2021-02-15
          • 2022-01-23
          相关资源
          最近更新 更多