2016-07-14 2 views
8

내보기 기능에서 json 개체 (data1) 및 일부 text/html (form)을 반환하고 싶습니다. 이것이 가능한가? 내가 URL을 호출 할 때 내가 같이 검사 할 때Django : TemplateDoesNotExist (rest_framework/api.html)

TemplateDoesNotExist의 rest_framework/api.html

아래에 표시로

MY 코드는

@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') 

나는 오류 상태 코드 (500)를 얻을 수 API, 200 ok 상태로 응답을받습니다. 이

가 어떻게

답변

16

는 당신이 rest_framework이 있는지 확인 요청에 사전에

감사를 따라 내 HTML을 가야 내 html 페이지 얻을 임없는 표시 설정의 INSTALLED_APPS

+0

이미 있습니다. 나는 @ api_view가 HTML 페이지를 렌더링하는 것을 허용하지 않는다고 생각합니다. 다른 해결책이 있습니까 – Coeus

+0

장고 셸을 열고 INSTALLED_APPS를보고 두 번 확인하고 싶습니다. api_view가 작동하고 HTTP 415 Unsupported Media Type을 반환하기 때문에 api_view가 발생하지 않을 수 있습니다. – Linovia

+0

이 함수는 CURL 명령과 함께 작동하며, 브라우저에서 HTML을 렌더링하려고하면 응답을받습니다. 위의 오류가 나타납니다. – Coeus

0

다른 'rest_framework'을 추가하는 것보다 INSTALLED_APPS 안에 TEMPLATES.OPTIONS 안에 다음을 추가하십시오.

'loaders': [ 
    'django.template.loaders.filesystem.Loader', 
    'django.template.loaders.app_directories.Loader' 
], 
1

이전 Django 버전에서 Django 2.0으로 업그레이드 할 때이 문제점이 발생했습니다. 내 settings.py는 전혀 TEMPLATE 지시가 없었어요, 그래서 새로운 django-admin.py startproject ... 실행에서 다음 암초에 걸렸다 : 당신이 당신의 settings.pyTEMPLATES 지침이없는 경우

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에 그를 추가합니다. 나를 위해 일했다.

관련 문제