-1

我一直在尝试使用 Django 运行客户端-服务器应用程序。当我尝试在 Django 中运行我的服务器时,它给了我以下错误。

django.core.exceptions.ImproperlyConfigured:包含的 URLconf '' 似乎没有任何模式。如果您在文件中看到有效模式,则问题可能是由循环导入引起的。

项目 urls.py -

from django.conf.urls import url,include
from django.contrib import admin
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^', include('chat.views')),
] 

应用的views.py -

from django.shortcuts import render
from django.http import JsonResponse
def home(request):
if request.method == 'POST':

    if request.is_ajax():

       //code
        return JsonResponse(data)

return render(request,'index.html')

我哪里错了?

4

2 回答 2

5

include方法采用 app urls.py 模型而不是 views.py。您需要urls.py在您的应用程序中创建文件并替换url(r'^', include('chat.views'))url(r'^', include('chat.urls'))项目 urls 文件中。请参阅 django文档

于 2018-01-04T06:23:51.483 回答
2

url.py文件中的include 方法用于包含在其他文件中指定的 url 模式。并且当您执行此url(r'^', include('chat.views'))时,它无法在您的视图文件中找到 url 模式。因此给出错误:

django.core.exceptions.ImproperlyConfigured:包含的 URLconf '' 似乎没有任何模式。如果您在文件中看到有效模式,则问题可能是由循环导入引起的。

我们通常在我们的 app 文件夹中创建一个 urls.py 文件,并在这个文件中写入我们关于这个应用程序的所有 url 模式。在您的 app 文件夹中创建一个新的urls.py文件,并在该文件中写入 url 模式。

然后在主 urls.py文件中包含您的应用程序的 urls.py文件,如下所示:-

url(r'^', include('chat.urls')),

您应用的 urls.py 文件应如下所示:

from django.conf.urls import url
urlpatterns = [
   url(r'', views.home, name = "home")),
] 

您可以从文档中找到有关 django url 的更多信息:- django urls

如果您不想在应用程序目录中创建新的urls.py文件,那么您可以将视图导入主 urls.py文件并在此文件中写入 url 模式。那么您的主 urls.py文件将如下所示:-

from django.conf.urls import url,include
from django.contrib import admin
from chat.views import home

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^', home, name = "home"),
] 
于 2018-01-04T07:44:24.673 回答