django中url的定向问题,比如这个abc.com/cs/news,其中cs这个参数在HTML模板中如何表示?

因为除了cs,还会有其他比如ee等其他参数,以后根据专业的不同会转向不同的页面,比如abc.com/cs/news,abc.com/ee/news这样。
HTML中代码是这样,只能访问abc.com/news这样的地址,如何根据中间的参数改变url定向呢?

<ul class="nav navbar-nav">
    <li class=""><a href="{% url 'news' %}">新闻</a></li>
    <li class=""><a href="{% url 'forum' %}">论坛</a></li>
    <li class=""><a href="{% url 'blog' %}">博客</a></li>
    <li class=""><a href="{% url 'research' %}">科研</a></li>
</ul>
阅读 4.1k
1 个回答

模版的 {% url %} 也可以传参数. 通过url路由捕捉url地址参数,然后渲染给模版。urls文件中的中的name,就是在模版中用来使用的url

urls.py
url(r'^(?P<course>\w+)/news$', news_page, name='news_page'),

views.py
def news_page(request, course='cs'):

    return render_to_response('news_page.html', {'course': course})

news_page.html


<ul class="nav navbar-nav">
    <li class=""><a href="{% url news_page course %}">新闻</a></li>
    ...
</ul>



不知道这个是不是你需要的,老实说没弄明白提主的需求。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题