【问题标题】:Django server is not running after added a new path function添加新路径功能后 Django 服务器未运行
【发布时间】:2020-06-19 15:15:06
【问题描述】:

我在 Django 中创建了一个应用名称“calc”,在该应用中,我编辑了两个文件代码。
urls.py

from django.urls import path


from . import views

urlpattern = [
    path('', views.home, name='home')
]

views.py

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

def home(request):
    return HttpResponse("Hello Django!") 

最后,我更改了我的目录文件夹的文件 urls.py

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

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

现在我在终端上运行命令:python manage.py runserver
它给了我以下这些错误,并且没有连接到服务器。

终端错误:

* Watching for file changes with StatReloader
Performing system checks...

Exception in thread django-main-thread:
Traceback (most recent call last):
  File "C:\Users\Shuvra\Envs\docu\lib\site-packages\django\urls\resolvers.py", line 590, in url_patterns
    iter(patterns)
TypeError: 'module' object is not iterable

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "c:\users\shuvra\appdata\local\programs\python\python38\lib\threading.py", line 932, in _bootstrap_inner
    self.run()
  File "c:\users\shuvra\appdata\local\programs\python\python38\lib\threading.py", line 870, in run
    self._target(*self._args, **self._kwargs)
  File "C:\Users\Shuvra\Envs\docu\lib\site-packages\django\utils\autoreload.py", line 53, in wrapper
    fn(*args, **kwargs)
  File "C:\Users\Shuvra\Envs\docu\lib\site-packages\django\core\management\commands\runserver.py", line 117, in inner_run
    self.check(display_num_errors=True)
  File "C:\Users\Shuvra\Envs\docu\lib\site-packages\django\core\management\base.py", line 392, in check
    all_issues = self._run_checks(
  File "C:\Users\Shuvra\Envs\docu\lib\site-packages\django\core\management\base.py", line 382, in _run_checks
    return checks.run_checks(**kwargs)
  File "C:\Users\Shuvra\Envs\docu\lib\site-packages\django\core\checks\registry.py", line 72, in run_checks
    new_errors = check(app_configs=app_configs)
  File "C:\Users\Shuvra\Envs\docu\lib\site-packages\django\core\checks\urls.py", line 13, in check_url_config
    return check_resolver(resolver)
  File "C:\Users\Shuvra\Envs\docu\lib\site-packages\django\core\checks\urls.py", line 23, in check_resolver
    return check_method()
  File "C:\Users\Shuvra\Envs\docu\lib\site-packages\django\urls\resolvers.py", line 408, in check
    messages.extend(check_resolver(pattern))
  File "C:\Users\Shuvra\Envs\docu\lib\site-packages\django\core\checks\urls.py", line 23, in check_resolver
    return check_method()
  File "C:\Users\Shuvra\Envs\docu\lib\site-packages\django\urls\resolvers.py", line 407, in check
    for pattern in self.url_patterns:
  File "C:\Users\Shuvra\Envs\docu\lib\site-packages\django\utils\functional.py", line 48, in __get__
    res = instance.__dict__[self.name] = self.func(instance)
  File "C:\Users\Shuvra\Envs\docu\lib\site-packages\django\urls\resolvers.py", line 597, in url_patterns
    raise ImproperlyConfigured(msg.format(name=self.urlconf_name))
django.core.exceptions.ImproperlyConfigured: The included URLconf '<module 'calc.urls' from 'C:\\Users\\Shuvra\\Documents\\Dev\\hellodjango\\calc\\urls.py'>' does not appear to have any patterns in it. If you see valid patterns in the file then the issue is probably caused by a circular import.

【问题讨论】:

  • 您是否在设置 INSTALLED APP 中保存了您的应用?
  • INSTALLED_APPS = ['django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages' , 'django.contrib.staticfiles', ]
  • 我不明白。
  • 所以你已经创建了一个应用调用 calc 所以你必须在 INSTALL_APP 中注册它。只需在其中添加 calc 即可。
  • 更新:INSTALLED_APPS = ['django.contrib.admin','django.contrib.auth','django.contrib.contenttypes','django.contrib.sessions','django.contrib。 messages', 'django.contrib.staticfiles', 'calc', ] 但同样的错误。谢谢

标签: python python-3.x django


【解决方案1】:

我看到了简单的拼写错误.. 在你的 urls.py 中应该有 urlpatterns=[] 而你有 urlpattern=[]

【讨论】:

    【解决方案2】:

    您在 / 页面的两个 urls.py 中创建了两个路径。据我所知,这不是正确的方法。您可以在您的网址中执行此操作

    path('', include('calc.urls')),
    
    path('home/', views.home, name='home')
    

    然后加载它将 localhost:8000/home/ 并且它会工作

    【讨论】:

      猜你喜欢
      • 2012-04-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-11
      • 2020-09-25
      • 2012-09-13
      • 2010-09-16
      • 2021-04-18
      相关资源
      最近更新 更多