当debug = False时,Django主页400

时间:2016-11-21 21:13:40

标签: python django http-status-code-400

因此,当Debug = True时,我的应用程序在开发服务器中工作正常,但是当我将其切换为False时,我的主页给了我400回。我有一些返回json的端点,无论调试值如何,它们都能正常工作。

我正在使用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 / me / development / my_project / myapp / staticfiles)。

我认为这是一个whitenoise问题,即使我设置的settings.py与他们的docs

完全一样

1 个答案:

答案 0 :(得分:0)

尝试在允许的主机部分添加主机名。

For Ex: ALLOWED_HOSTS = ['localhost', 'localhost_projectname', 'server_hostname']

您可以在给定的博文中找到有关如何在您的网站中添加404和500页的更多详细信息,

https://micropyramid.com/blog/handling-custom-error-pages-in-django/