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>

python django HTML

中国人名很行 10 years, 2 months ago

模版的 {% 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>

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

qwdfbn answered 10 years, 2 months ago

Your Answer