【问题标题】:Unable to import view in Django project无法在 Django 项目中导入视图
【发布时间】:2016-06-02 23:44:24
【问题描述】:

我正在启动一个非常基本的 Django 项目(在此过程中使用 PyCharm IDE)。这就是我最初所做的。

  1. cd 进入我的workspace 目录并运行django-admin.py startproject mysite。这将创建以下目录结构:

  1. 运行cd mysite,然后运行python manage.py runserver。这按预期工作,我可以在浏览器中查看标准 localhost 服务页面。

  2. 现在我需要在mysite 中添加另一个名为customviews 的目录,并在其中添加一个名为myview.py 的文件,其基本方法返回HTTPResponse 对象。现在文件夹结构是这样的:

  1. 现在我想将URL 映射到这个视图,所以我前往urls.py 模块,并尝试在我刚刚创建的视图中导入方法。它显示为不可导入。所以我在这里添加PyCharm IDE指定Python路径的路径,并将mysite标记为src文件夹:

  1. 现在 PyCharm 错误消失了,我可以像这样导入:from myview import current_datetime。但是,我在第二步中启动服务器的命令行抛出错误,因此映射失败,我要加载的页面也是如此

请帮我解决这个错误!

P.S 我以前在 Eclipse 上使用过 Django,我从未遇到过这种问题。这是我的urls.py 代码:

from django.conf.urls import url
from django.contrib import admin
from django.conf.urls import *
from myview import current_datetime

urlpatterns = [
    url(r'^admin/', admin.site.urls),

]

【问题讨论】:

    标签: python django pycharm pythonpath


    【解决方案1】:

    您不应该将该目录添加到路径中。

    您有两个问题:首先,正如 adriansq 指出的那样,您需要在该目录中有一个空的 __init__.py。其次,它是在错误的地方;它应该更高一级,直接在外部mysite 目录下。

    【讨论】:

    • 这是默认配置的样子,django-admin.py 生成的内容。为什么要改变它?它适用于默认欢迎页面..
    • 嗯,问题解决了。虽然我仍然必须将customviews 目录(现在直接放在外部mysite 目录下)标记为源根目录。可能是 PyCharm 的事情。除了我的myview.py,我还在customviews 中添加了一个空的__init__.py,然后像from customviews.myview import current_datetime 一样导入我的文件。你能解释一下这背后的逻辑吗?
    【解决方案2】:

    您能告诉我们您要导入视图的文件的代码吗? 我认为您错过了在 customviews 文件夹中创建 __init__.py 的机会?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-08-10
      • 1970-01-01
      • 2016-11-29
      • 2017-08-04
      • 2023-03-19
      • 2012-05-22
      • 2021-06-11
      相关资源
      最近更新 更多