Tra*_*vis 19 django reverse django-flatpages
如何获取Django Flatpages模板的反向URL
buf*_*ufh 25
我更喜欢以下解决方案(需要Django> = 1.0).
settings.pyINSTALLED_APPS+= ('django.contrib.flatpages',)
Run Code Online (Sandbox Code Playgroud)
urls.pyurlpatterns+= patterns('django.contrib.flatpages.views',
url(r'^about-us/$', 'flatpage', {'url': '/about-us/'}, name='about'),
url(r'^license/$', 'flatpage', {'url': '/license/'}, name='license'),
)
Run Code Online (Sandbox Code Playgroud)
[...]
<a href="{% url about %}"><span>{% trans "About us" %}</span></a>
<a href="{% url license %}"><span>{% trans "Licensing" %}</span></a>
[...]
Run Code Online (Sandbox Code Playgroud)
from django.core.urlresolvers import reverse
[...]
reverse('license')
[...]
Run Code Online (Sandbox Code Playgroud)
这样你就不需要django.contrib.flatpages.middleware.FlatpageFallbackMiddleware像往常那样使用反向工作而不用像其他解决方案那样编写那么多代码.
干杯.
elo*_*0ka 23
在根urlconf中包含flatpages:
from django.conf.urls.defaults import *
urlpatterns = patterns('',
('^pages/', include('django.contrib.flatpages.urls')),
)
Run Code Online (Sandbox Code Playgroud)
然后,在您的视图中,您可以像这样调用反向:
from django.core.urlresolvers import reverse
reverse('django.contrib.flatpages.views.flatpage', kwargs={'url': '/about-us/'})
# Gives: /pages/about-us/
Run Code Online (Sandbox Code Playgroud)
在模板中,使用{%url%}标记(在内部调用reverse):
<a href='{% url django.contrib.flatpages.views.flatpage url="/about-us/" %}'>About Us</a>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13182 次 |
| 最近记录: |