如果需要向 Django 传递模板变量,如何指定命名 URL 模式?我的模板包含以下 URL:
# templates/welcome.html
# Link to template that shows all members near member with this uid
<a href="{% url 'show-members-near' %}uid={{ uid }}">Show members near you</a>
我的顶级 URLconf 文件包含以下模式,该模式指向 到应用程序特定的 url 文件:
# conf/urls.py
urlpatterns = patterns('',
...
url(r'^members/', include('apps.members.urls')),
...
)
这是我的应用程序特定的 url 文件:
# app/members/url.py
url(r'^near/(?P<uid>\d{1,})/$',
'show_members',
{'template': 'show_members.html'},
name='show-members-near'),
这是我得到的错误:
NoReverseMatch at /personal_profile/welcome/
Reverse for 'show-members-near' with arguments '()' and keyword arguments '{}' not found. 1 pattern(s) tried: ['members/near/(?P<uid>\\d{1})/$']
我尝试插入这样的关键字参数,但没有成功:
<a href="{% url 'show-members-near' uid={{ uid }} %}">Show members near you</a>
经过一些研究后,我读到的所有内容似乎都表明关键字参数应该按照我上面的方式传递。我想做的相当于以下确实工作:
<a href="/members/near/{{ uid }}/">See who's here</a>
如何指定关键字参数?我在 Django 文档中没有看到任何解决这种情况的内容(尽管我可能错过了)。
谢谢!
最佳答案
您只需将 uid 作为关键字传递即可。您可以找到它的记录 here 。因此,您的 url 调用将如下所示:
<a href="{% url 'show-members-near' uid=uid %}">Show members near you</a>
关于django - 使用模板变量创建名为 URL 的 Django?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27507889/