【问题标题】:django import error - from . import views in urls under appdjango 导入错误 - 来自 .在app下的urls中导入views
【发布时间】:2018-04-25 09:11:20
【问题描述】:

我确实在urls.py 中声明了from . import views。 使用 TemplateView,需要这个 urls.py。

urls.py

from django.urls import path, re_path

from . import views

app_name = 'scheduler'

urlpatterns = [
    re_path(r'^service/(?P<status>\w+)', views.SchedulerView.as_view(), name='schedule-service')
]

我认为只是正常的实现。

出现如下错误。

 from . import views
ImportError: cannot import name 'views'

旧版本的 django 确实可以工作。但它在 django 2.0 中不起作用

应用结构

- server
  - scheduler
    - templatetags
      schedule_status.py
    urls.py
    models.py
    views.py
  - main
    settings.py
    urls.py
  - manage.py

我只是猜测“调度程序”应用程序的路径不正确,无法“从 .import 视图”工作 有没有人解决或检查更多的东西。 django 2.0之后的这些问题。

ps。抱歉,我忘了在有问题的结构中添加 view.py。 SchedulerView 在views.py中声明

【问题讨论】:

  • 您没有任何名为views.py的文件。
  • 我认为views.SchedulerView.as_view() 用于在App 中的视图下进行分类。我可以再说一遍,它以前确实有效。而这个用法在Django官方页面的教程中也是一样的。 docs.djangoproject.com/en/2.0/intro/tutorial03
  • 没有。本教程有一个名为views.py 的文件。你没有。
  • views.py 我确实忘记添加问题。 SchedulerView 在views.py中声明

标签: python django url import


【解决方案1】:

我确实找到了解决方案。 python 3.6 改变了一些东西。

我确实将目录创建为视图并添加了 scheduler_view.py

from .views import scheduler_view as view

app_name = 'scheduler'

urlpatterns = [
    re_path(r'^service/(?P<status>\w+)', view.SchedulerView.as_view(), name='schedule-service')
]

它不会发生错误并运行服务器。

另外我确实在另一个文件中再次出现错误。它适用于较旧的 python。

scheduler_view.py

from scheduler import Scheduler -> from scheduler.scheduler import Scheduler

我确实改变了它。

http://python-notes.curiousefficiency.org/en/latest/python_concepts/import_traps.html

希望对你有帮助。

【讨论】:

    猜你喜欢
    • 2023-03-15
    • 2017-06-04
    • 1970-01-01
    • 1970-01-01
    • 2016-05-01
    • 2011-01-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多