【问题标题】:I am not able to resolve the RecursionError from Django framework我无法从 Django 框架中解决 RecursionError
【发布时间】:2019-02-13 18:00:45
【问题描述】:

python manage.py runserver 抛出异常。如何在 localhost 上获取我的启动网页?

我尝试过 Django Slack 社区组,也尝试过 StackOverflow 关于 Django Framework 中“RecursionError”的问题,但答案不确定且令人困惑。

python3 manage.py runserver 正在执行系统检查...

Unhandled exception in thread started by <function check_errors.<locals>.wrapper at 0x102b926a8>
Traceback (most recent call last):
File "/Users/kuldeep/env/lib/python3.7/site-packages/django/utils/autoreload.py", line 225, in wrapper fn(*args, **kwargs)
File "/Users/kuldeep/env/lib/python3.7/site-packages/django/core/management/commands/runserver.py", line 117, in inner_run            self.check(display_num_errors=True)
File "/Users/kuldeep/env/lib/python3.7/site-packages/django/core/management/base.py", line 379, in check
        include_deployment_checks=include_deployment_checks,
File "/Users/kuldeep/env/lib/python3.7/site-packages/django/core/management/base.py", line 366, in _run_checks
        return checks.run_checks(**kwargs)
File "/Users/kuldeep/env/lib/python3.7/site-packages/django/core/checks/registry.py", line 71, in run_checks
        new_errors = check(app_configs=app_configs)
File "/Users/kuldeep/env/lib/python3.7/site-packages/django/core/checks/urls.py", line 40, in check_url_namespaces_unique
        all_namespaces = _load_all_namespaces(resolver)
File "/Users/kuldeep/env/lib/python3.7/site-packages/django/core/checks/urls.py", line 67, in _load_all_namespaces
        namespaces.extend(_load_all_namespaces(pattern, current))
File "/Users/kuldeep/env/lib/python3.7/site-packages/django/core/checks/urls.py", line 67, in _load_all_namespaces
        namespaces.extend(_load_all_namespaces(pattern, current))
File "/Users/kuldeep/env/lib/python3.7/site-packages/django/core/checks/urls.py", line 67, in _load_all_namespaces
        namespaces.extend(_load_all_namespaces(pattern, current))
      [Previous line repeated 986 more times]
File "/Users/kuldeep/env/lib/python3.7/site-packages/django/core/checks/urls.py", line 59, in _load_all_namespaces
        ':'.join(parents + (url.namespace,)) for url in url_patterns
File "/Users/kuldeep/env/lib/python3.7/site-packages/django/core/checks/urls.py", line 60, in <listcomp>
        if getattr(url, 'namespace', None) is not None
    RecursionError: maximum recursion depth exceeded while calling a Python object

我期待飞行火箭,这让我对本地主机上的祝贺信息充满信心。

mysite/urls.py 文件:

from django.contrib import admin
from django.urls import include, path

urlpatterns = [
    path('polls/', include('polls.urls')),
    path('admin/', admin.site.urls),
]

polls/urls.py 文件:

from django.urls import include, path
from django.contrib import admin
from . import views

urlpatterns = [
    path('polls/', include ('polls.urls')),
    path ('admin/', admin.site.urls),
]

polls/views.py 代码:

from django.shortcuts import render

# Create your views here.
from django.http import HttpResponse

def index(request):
  return HttpResponse("Hello, world. You are at the polls index")

【问题讨论】:

  • 您的 url 模式中可能有一个循环(两个文件相互加载)。检查您的 urls.py 文件或在此处向我们展示。
  • 这是我的 mysite/urls.py 文件:""mysite URL Configuration from django.contrib import admin from django.urls import include, path urlpatterns = [ path('polls/', include(' polls.urls')), path('admin/', admin.site.urls), ]
  • 请将其嵌入您的问题中,而不是 cmets 中。并显示 polls.urls 文件
  • @dirkgroten 谢谢。将我的 urls.py 文件放入问题中。
  • 你的 polls/urls.py urlpatterns 包括它自己。它不应包含路径“polls/”和“admin/”,而是包含特定投票视图的子路径。例如。 path('', views.index)

标签: python django


【解决方案1】:

查看 urlpatternspolls/urls.py 代码,它包含自身,导致无限循环。

您的 polls/urls.py 应包含特定于 polls 应用程序的子路径。由于此应用只有一个视图,您可能只需要一个路径:

path('', views.index)

请记住,这包含在 my_site/urls.pypolls/ 路径下,因此获取 index 视图的完整路径将是:“/polls/”。 p>

您可能正在学习 Django 教程,请检查您的代码 here

【讨论】:

    猜你喜欢
    • 2016-09-23
    • 1970-01-01
    • 1970-01-01
    • 2020-01-18
    • 2015-09-20
    • 2014-10-17
    • 2021-08-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多