私のビュー関数では、jsonオブジェクト(data1)といくつかのtext/html(フォーム)を返します。これは可能ですか?
私のコード
@api_view(['POST'])
@permission_classes((AllowAny,))
def create_user(request):
if request.is_ajax():
if request.method == 'POST':
serializer = SignupSerializer(data=request.data)
print 'ser'
print serializer
if not serializer.is_valid():
return Response(serializer.errors,\
status=status.HTTP_400_BAD_REQUEST)
else:
serializer.save()
data={'status': 'Created','message': 'Verification email has been sent to your email. Please verify your account.'}
return Response(data, template_name='register.html')
else:
return HttpResponse('hello world')
URLを呼び出すと、次のようにエラーのあるステータスコード500が表示されます
TemplateDoesNotExist rest_framework/api.html
aPIとしてチェックすると、200のOKステータスで応答が返されます。これは、ImがHTMLページを取得できないことを示しています
リクエストに応じてどのようにHTMLを取得する必要がありますか
前もって感謝します
rest_framework
設定のINSTALLED_APPS
古いDjango=バージョンからDjango= 2.0。私のsettings.py
にはTEMPLATE
ディレクティブがありません。すべて、したがって、私は新しいDjango-admin.py startproject ...
実行から以下を捕捉しました:
TEMPLATES = [
{
'BACKEND': 'Django.template.backends.Django.DjangoTemplates',
'DIRS': [],
'APP_DIRS': True,
'OPTIONS': {
'context_processors': [
'Django.template.context_processors.debug',
'Django.template.context_processors.request',
'Django.contrib.auth.context_processors.auth',
'Django.contrib.messages.context_processors.messages',
],
},
},
]
settings.py
にTEMPLATES
ディレクティブがない場合は、settings.py
に追加してください。私のために働いた。
必ずpip install djangorestframework
をインストールし、setting.pyにrest_frameworkを含めてください
INSTALLED_APPS = [
'rest_framework',
]
'rest_framework'
内にINSTALLED_APPS
を追加する以外に、TEMPLATES.OPTIONS
内に次を追加してみてください。
'loaders': [
'Django.template.loaders.filesystem.Loader',
'Django.template.loaders.app_directories.Loader'
],
私は同じ問題に遭遇しました、空の応答を送信していました。 _create_user
_関数のResponse()
に別の情報を入れて、機能するかどうかを確認してください