Django 中的导航

2023-12-15

我刚刚在 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(使用前将#替换为@)

Django 中的导航 的相关文章

随机推荐