【问题标题】:Circular Import in DjangoDjango中的循环导入
【发布时间】:2018-01-04 06:18:28
【问题描述】:

我一直在尝试使用 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')

我哪里错了?

【问题讨论】:

  • @ABDULNIYASPM 试图从我的名为“聊天”的应用中包含 views.py 文件
  • 您的代码在您的实际代码中正确缩进,对吗?可能想在你的帖子上解决这个问题。我们还能看到你的聊天views.py吗?
  • @ABDULNIYASPM 是的,我有。

标签: python django django-views request-response


【解决方案1】:

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

【讨论】:

  • 好的,我试试看。
  • 这有帮助。谢谢! :)
【解决方案2】:

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

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

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

然后在 ma​​in 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 网址的更多信息:- django urls

如果你不想在你的应用目录中创建新的 urls.py 文件,那么你可以在 ma​​in urls.py 文件中导入你的视图并编写此文件中的 url 模式。那么您的 ma​​in 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"),
] 

【讨论】:

    猜你喜欢
    • 2021-04-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-11
    • 1970-01-01
    • 2010-10-19
    相关资源
    最近更新 更多