我刚刚在 django 中完成了我的第一个小 web 应用程序,我喜欢它。我即将开始将旧的 PHP 生产站点转换为 django,作为其模板的一部分,有一个导航栏。
在 PHP 中,我在模板代码中根据当前 URL 检查每个导航选项的 URL,并在它们对齐时应用 CSS 类。真是混乱得可怕。
django 有更好的东西或者处理模板中代码的好方法吗?
首先,我该如何获取当前 URL?
您不需要 if 来执行此操作,请查看以下代码:
tags.py
@register.simple_tag
def active(request, pattern):
import re
if re.search(pattern, request.path):
return 'active'
return ''
urls.py
urlpatterns += patterns('',
(r'/$', view_home_method, 'home_url_name'),
(r'/services/$', view_services_method, 'services_url_name'),
(r'/contact/$', view_contact_method, 'contact_url_name'),
)
基本.html
{% load tags %}
{% url 'home_url_name' as home %}
{% url 'services_url_name' as services %}
{% url 'contact_url_name' as contact %}
<div id="navigation">
<a class="{% active request home %}" href="{{ home }}">Home</a>
<a class="{% active request services %}" href="{{ services }}">Services</a>
<a class="{% active request contact %}" href="{{ contact }}">Contact</a>
</div>
就是这样。
有关实施细节,请查看:
gnuvince.wordpress.com
110j.wordpress.com
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)