我对 Django 和所有与 Web 相关的东西的经验为零,但我想确保我从一开始就遵循最佳实践。
我正在使用django.contrib.auth
并且base.html
我有类似的东西:
{% if request.user.is_authenticated %}
<a href="{% url 'django.contrib.auth.views.logout' %}?next={{ request.path }}">Logout</a>
{% else %}
<a href="{% url 'django.contrib.auth.views.login' %}?next={{ request.path }}">Login</a>
{% endif %}
在我的urls.py
:
from django.contrib.auth.views import login, logout
...
urlpatterns += patterns('',
url(r'^login/$', login, {'template_name': 'omgame/login.html'}),
url(r'^logout/$', logout, {'redirect_field_name': 'next'}),
)
如您所见,我正在构建一个 URL 中带有 GET 参数的 URL,以实现登录/注销后的重定向。这就是我应该处理的方式吗?最初我试图使用{% url %}
's 语法来做到这一点,但没有运气。
PS 对不起,如果它看起来没有建设性,甚至不是一个真正的问题。这确实是一种最佳实践,但我对此太陌生,无法依靠我自己的判断来判断该方法的缺点。从文档中我无法理解我应该如何使用这些视图。