1

私は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 %}それを行うために'構文を使用しようとしていましたが、運がありませんでした。

PS建設的ではない、または実際の質問ではないように思われる場合は申し訳ありません。これは確かにベストプラクティスのようなものですが、私はこれに慣れていないため、アプローチの欠点に関する自分の判断に頼ることはできません。ドキュメントから、これらのビューをどのように使用すべきかを理解できませんでした。

4

1 に答える 1

2

はい、これでいいです。GET パラメーターは、URL の解決または反転を目的とした URL の一部ではないため、実際にはこれが唯一の方法です。

于 2013-01-29T20:45:31.233 に答える