如何在我的所有网址前加一个字符串? 说我有http://127.0.0.1:8000/articles/new/ 我希望http://127.0.0.1:8000/ 用户名 / articles / new / 无需在我的网站中更改所有模板网址。 我想在此处添加的字符串是基于登录用户的用户名。 怎么做到这一点?
答案 0 :(得分:3)
首先,您必须在所有模板中使用模板标记url
。
如果您的urls.py
中有类似的内容:
url(r'^articles/new$', NewArticleView.as_view(), name='new_article')
在您的模板中,您有:
<a href="{% url 'new_article' %}">new article</a>
将其转换为:
url(r'^(?P<username>.+/articles/new$', NewArticleView.as_view(), name='new_article')
<a href="{% url 'new_article' request.user.username %}">new article</a>
如果您不使用模板标记url
,则除了更改所有模板之外没有其他方法(据我所知)