1

ユーザー登録とログイン用のアプリを開発しています。登録フォームを作成しましたが、ログインページを作成したいと考えています。そのため、login.html ファイルを作成しました。テンプレート。したがって、ディレクトリを作成し、そのディレクトリhome/html/templates/registration/login.htmlに配置します

settings.pyファイルの Template_dir=()は次のとおりです。

    TEMPLATE_DIRS = (
        '/home/html/templates',
    )

ビューファイルは

from django.template import  loader
from registration.models import Registration
from django.http import HttpResponse

def login(request):
    t = loader.get_template('registration/login.html')
    return HttpResponse()

しかし、このファイルをlocalhost:8000/registration/login.htmlとして実行しようとすると、404 エラー Page not found が表示されます

url.pyファイルで指定された URL は次のとおりです。

url(r'^registration/$', 'registration.views.login'),
4

2 に答える 2

1

Django は html ファイル自体を提供しません。テンプレートは、view.py で HttpResponse としてレンダリングして返す必要があります。

だから試してください:

from django.shortcuts import render

def login(request):
    return render(request, 'registration/login.html')

ログインlocalhost:8000/registration/ページが返されます。

ショートカット機能テンプレート言語の詳細については、ドキュメントを参照してください

于 2012-08-28T10:24:41.743 に答える
0

url を として定義しているとき404にアクセスしようとしているため、取得しています。localhost:8000/registration/login.htmlurl(r'^registration/$', 'registration.views.login'),

の定義の最初の部分の正規表現ではなく文字列はurls.py、ブラウザからアクセスする URL と一致する必要があります。

あなたの場合、アクセスする必要がありますlocalhost:8000/registration/

また、 empty ではなく適切な http 応答を返す必要がありますHttpResponse

于 2012-08-28T10:35:00.297 に答える