【问题标题】:cannot import name views - django无法导入名称视图 - django
【发布时间】:2017-08-04 05:48:25
【问题描述】:

我正在使用 Visual Studio 2013 和 Python Tools for VS 2013 来开始使用 Django 网站。

相关问题: cannot import name patterns - django

我已经解决了这个问题,现在我收到以下错误,

完整追溯,

Performing system checks...

Traceback (most recent call last):
  File "C:\Users\my_username\documents\visual studio 2013\Projects\DjangoWebProject1\DjangoWebProject1\manage.py", line 17, in <module>
    execute_from_command_line(sys.argv)
  File "C:\Python27\lib\site-packages\django\core\management\__init__.py", line 367, in execute_from_command_line
    utility.execute()
  File "C:\Python27\lib\site-packages\django\core\management\__init__.py", line 359, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "C:\Python27\lib\site-packages\django\core\management\base.py", line 294, in run_from_argv
    self.execute(*args, **cmd_options)
  File "C:\Python27\lib\site-packages\django\core\management\commands\runserver.py", line 58, in execute
    super(Command, self).execute(*args, **options)
  File "C:\Python27\lib\site-packages\django\core\management\base.py", line 345, in execute
    output = self.handle(*args, **options)
  File "C:\Python27\lib\site-packages\django\core\management\commands\runserver.py", line 97, in handle
    self.run(**options)
  File "C:\Python27\lib\site-packages\django\core\management\commands\runserver.py", line 108, in run
    self.inner_run(None, **options)
  File "C:\Python27\lib\site-packages\django\core\management\commands\runserver.py", line 121, in inner_run
    self.check(display_num_errors=True)
  File "C:\Python27\lib\site-packages\django\core\management\base.py", line 374, in check
    include_deployment_checks=include_deployment_checks,
  File "C:\Python27\lib\site-packages\django\core\management\base.py", line 361, in _run_checks
    return checks.run_checks(**kwargs)
  File "C:\Python27\lib\site-packages\django\core\checks\registry.py", line 81, in run_checks
    new_errors = check(app_configs=app_configs)
  File "C:\Python27\lib\site-packages\django\core\checks\urls.py", line 14, in check_url_config
    return check_resolver(resolver)
  File "C:\Python27\lib\site-packages\django\core\checks\urls.py", line 24, in check_resolver
    for pattern in resolver.url_patterns:
  File "C:\Python27\lib\site-packages\django\utils\functional.py", line 35, in __get__
    res = instance.__dict__[self.name] = self.func(instance)
  File "C:\Python27\lib\site-packages\django\urls\resolvers.py", line 313, in url_patterns
    patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
  File "C:\Python27\lib\site-packages\django\utils\functional.py", line 35, in __get__
    res = instance.__dict__[self.name] = self.func(instance)
  File "C:\Python27\lib\site-packages\django\urls\resolvers.py", line 306, in urlconf_module
    return import_module(self.urlconf_name)
  File "C:\Python27\lib\importlib\__init__.py", line 37, in import_module
    __import__(name)
  File "C:\Users\my_username\documents\visual studio 2013\Projects\DjangoWebProject1\DjangoWebProject1\DjangoWebProject1\urls.py", line 3, in <module>
    from . import views
ImportError: cannot import name views
Press any key to continue . . .

我该如何解决这个问题?



相关源代码

urls.py

from django.conf.urls import url

from . import views

urlpatterns = [
    url(r'^articles/2003/$', views.special_case_2003),
    url(r'^articles/([0-9]{4})/$', views.year_archive),
    url(r'^articles/([0-9]{4})/([0-9]{2})/$', views.month_archive),
    url(r'^articles/([0-9]{4})/([0-9]{2})/([0-9]+)/$', views.article_detail),
]

【问题讨论】:

  • 你做了哪些步骤来开始?项目目录下有哪些文件?
  • @PenguinBrian,已添加截图。
  • ImportError: cannot import name views — 您根本没有与urls.py 处于同一级别的views.py 文件。
  • 我建议 - 如果你还没有这样做 - 阅读 Django 教程 - 然后再回到这个问题,看看是否有帮助:docs.djangoproject.com/en/1.10/intro/tutorial01(这是针对 Django 1.10)

标签: django python-2.7


【解决方案1】:
Django version 2.2, venv - with pycharm community version  

嘿,我只是在 app 目录中创建新的单独的 urls.py

from django.contrib import admin
from django.urls import path, include
from . import views
urlpatterns = [
    path('', views.dbsave),





"""


 main urls.py 


"""  

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

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

]

【讨论】:

  • 欢迎来到 Stack Overflow!由于解释是该平台上答案的重要组成部分,请解释您的代码以及它如何解决问题中的问题。我们的指南How to write a good answer 可能对您有所帮助。谢谢!
【解决方案2】:
   from django.conf.urls import url

   from app import views
   #name of your app
   urlpatterns = [
   url(r'^articles/2003/$', views.special_case_2003),
   url(r'^articles/([0-9]{4})/$', views.year_archive),
   url(r'^articles/([0-9]{4})/([0-9]{2})/$', views.month_archive),
   url(r'^articles/([0-9]{4})/([0-9]{2})/([0-9]+)/$', 
   views.article_detail),
   ]

【讨论】:

    【解决方案3】:

    试试from app import views

    我的工作假设您的 urls.py 是在 DjangoWebProject1 目录/包中找到的那个

    【讨论】:

      猜你喜欢
      • 2023-03-19
      • 2018-12-21
      • 1970-01-01
      • 2014-11-15
      • 2011-07-11
      • 2015-03-01
      • 2011-12-27
      • 2018-05-29
      • 2014-11-06
      相关资源
      最近更新 更多