擅长:python、mysql、java
<p>你需要的是一种获取当前路径的方法,但是要简单——不需要前导语言代码。假设Django会自动将用户重定向到正确的URL。在</p>
<p>我写了一个简单的函数,从给定的路径中去掉当前的语言。它基于<code>django.core.urlresolvers.resolve</code>如何处理路径中的语言代码,因此应该非常可靠:</p>
<pre><code>from django.utils.translation import get_language
import re
def strip_lang(path):
pattern = '^(/%s)/' % get_language()
match = re.search(pattern, path)
if match is None:
return path
return path[match.end(1):]
</code></pre>
<p>您可以在视图中使用它将无语言路径传递到模板:</p>
^{pr2}$
<p>然后在模板中使用它:</p>
^{3}$
<hr/>
<p>或者,您可以轻松地<a href="https://docs.djangoproject.com/en/dev/howto/custom-template-tags/#writing-custom-template-filters" rel="nofollow">make the function into a template filter</a>并直接在模板中使用它:</p>
<pre><code><input name="next" type="hidden" value="{{ request.path|strip_lang }}"/>
</code></pre>