Итак, мое приложение отлично работает на сервере разработки, когда Debug = True, однако, когда я переключу его на False, моя домашняя страница возвращает мне обратно обратно 400. У меня есть некоторые конечные точки, которые возвращают json, и они отлично работают независимо от значения отладки.Django Homepage 400, когда debug = False
Я использую Django 1.10.2
urls.py
from django.conf.urls import url
from django.contrib import admin
from fim_table import views
urlpatterns = [
url(r'^$', views.create_home),
url(r'^data/', views.data),
...
]
views.py
from django.shortcuts import render
from django.views.decorators.csrf import csrf_protect
from lockdown.decorators import lockdown
from .models import Fim, FimDeleted
from django.http import HttpResponse
from django.db.models.functions import Lower
from django.template.context_processors import csrf
import json
@csrf_protect
def create_home(request):
return render(request, 'table.html', {'csrf': csrf})
# returns all of the data, unfiltered/response is json
@csrf_protect
def data(request):
# show distinct names only
fims = Fim.objects.annotate(name_lower=Lower('crib_name')).order_by('name_lower').distinct('name_lower')
# fims need to be not a queryset but an array of dicts to be json
dictionaries = [ idToString(name.as_dict()) for name in fims ]
mydata = {"aaData": dictionaries}
return HttpResponse(json.dumps(mydata), content_type='application/json')
settings.py
DEBUG = False
ALLOWED_HOSTS = ["*"]
обновление Я осуществил некоторое протоколирование, и получил:
соединяемый путь (/DataTables/datatables.min.css) находится вне компонента базового пути (/ Users/мне/развития/my_project/MyApp/staticfiles).
Я думаю, что это Whitenoise вопрос, хотя я настроил свой settings.py так же, как это в их docs
Ничто в журналах? – kichik
'[21/Ноябрь/2016 21:46:36]« GET/HTTP/1.1 »500 27' это – heliotrope
Это ошибка 500, а не ошибка 400. В любом случае вы должны включить большее количество журналов, чтобы получить фактическое исключение , – kichik