我一直在尝试使用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')
我哪里错了?
答案 0 :(得分:4)
include
方法需要app urls.py模型而不是views.py。您需要在应用内创建urls.py
文件,并在项目网址文件中将url(r'^', include('chat.views'))
替换为url(r'^', include('chat.urls'))
。见django docs。
答案 1 :(得分:2)
url.py 文件中的Include方法用于包含在其他文件中指定的网址格式。当你这样做 url(r' ^',include(' chat.views'))时,它无法在你的视图中找到网址模式文件。因此给出错误:
django.core.exceptions.ImproperlyConfigured:包含的URLconf'' 似乎没有任何模式。如果你看到有效的模式 在文件中,问题可能是由循环导入引起的。
我们通常在app文件夹中创建一个urls.py文件,并在此文件中写下有关此应用程序的所有url模式。 在您的应用文件夹中创建一个新的 urls.py 文件,并在该文件中写入网址模式。
然后在主要urls.py 文件中加入 app的urls.py 文件,如下所示: -
url(r'^', include('chat.urls')),
并且您的应用的urls.py文件应如下所示:
from django.conf.urls import url
urlpatterns = [
url(r'', views.home, name = "home")),
]
您可以从文档中找到有关django网址的更多信息: - django urls
如果您不想在app目录中创建新的 urls.py 文件,那么您只需在 main 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"),
]