私はdjangoアプリを作成しています。ユーザーがログインすると、flatpages アプリによって管理される静的 Web ページが表示されます。
以下は、開発サーバーからの典型的なステータス メッセージです。
[15/Aug/2013 18:43:16] "GET / HTTP/1.1" 200 1263
[15/Aug/2013 18:43:23] "POST / HTTP/1.1" 302 0
[15/Aug/2013 18:43:23] "GET /home HTTP/1.1" 301 0
[15/Aug/2013 18:43:23] "GET /home/ HTTP/1.1" 200 4529
- 最初の行は、/ のログイン ページです。これは正常に配信されました。コード 200。
- 2行目はフォーム入力です。サーバーの応答コードは 302 です。これは、ページが一時的に移動されたことを意味します。
- 3 行目は、存在しないページ ('/home') を取得しようとしています。これは、基礎となるページがフラットページによって提供されているためです。301 サーバー応答コードは、ページが完全に移動されたことを示します。
- 4 行目は、フラットページからのコンテンツ ('/home') の配信の成功です。
put リクエストに対してサーバーが 302 で応答するのはなぜですか?
3行目の原因は何ですか?このメッセージが送信されるのはなぜですか? これは flatpages ミドルウェアによってキャッチされるものではないでしょうか? 私の Web クライアントは 4 行目の下にあるリクエストを送信していますか? これを行うことをどのように知っていますか?
最も重要な質問は次のとおりだと思います。私は何か間違ったことをしていますか?
助けてくれてありがとう!
urls.py
urlpatterns = patterns('',
url(r'^admin/', include(admin.site.urls)),
url(r'^$', 'django.contrib.auth.views.login'),
url(r'^logout$', 'guide.views.logout_view'),
# other patterns
(r'', include('django.contrib.flatpages.urls')),
)
ビュー.py
def home(request):
if request.user.is_authenticated() == False:
return HttpResponseRedirect('/')
return HttpResponseRedirect('/home/')
settings.py からの抜粋
MIDDLEWARE_CLASSES = (
'django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.contrib.flatpages.middleware.FlatpageFallbackMiddleware',
'guide.middleware.LogActivity'
)
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',
'django.contrib.flatpages',
'django.contrib.admin',
'guide',
)