【问题标题】:Django Import Error with URLS and ROOT_URLCONF confusion带有 URLS 和 ROOT_URLCONF 混淆的 Django 导入错误
【发布时间】:2010-05-22 13:08:07
【问题描述】:

在httpd conf中,

<VirtualHost *:8080>
    ServerName tweet_search_engine
    DocumentRoot /var/www/microblogsearchengine/twingle
</VirtualHost>

<Directory /var/www/microblogsearchengine/twingle>
  SetHandler python-program
  PythonHandler django.core.handlers.modpython
  SetEnv DJANGO_SETTINGS_MODULE settings
  PythonOption django.root /var/www/microbloggingsearchengine/twingle
  PythonDebug On
</Directory>

运行 python manage.py runserver 并访问 localhost:8000 返回一个启动页面,告诉我一切正常。但是,当我通过 apache 访问该站点时,我收到了 url 的导入错误。

在我的 settings.py 文件中有一行,

ROOT_URLCONF = 'twingle.urls'

我假设这是错误的原因。项目文件夹仅包含 4 个文件:

__init__.py manage.py settings.py urls.py

我尝试用urls.py 替换twingle.urls,但它给了我一个不同的错误。我可以做些什么来让它工作?

【问题讨论】:

    标签: python django url


    【解决方案1】:

    在 PythonOption 行中输入错误: django.rooti 而不是 django.root

    此外,您可能需要在“目录”部分中添加类似这样的内容:

    PythonPath "['/var/www/microbloggingsearchengine','/var/www/microbloggingsearchengine/twingle'] + sys.path"
    

    【讨论】:

    • 实际上是的,这是一个错字.. 仍然熟悉 vim 中的插入模式:D
    • 这会产生一个新错误:ImportError: Could not import settings 'settings' (Is it on sys.path? Does it have syntax errors?): No module named settings
    • 我自己打错了:/var/www/microbloggingsearchengine.twingle 当然应该是 /var/www/microbloggingsearchengine/twingle 如果它仍然不起作用,请提供以下信息:# 设置的完整路径。 py,你的 urls.py 和你的 twingle/urls.py 的完整路径; urls.py 和 twingle/urls.py 的内容以及 settings.py 中 ROOT_URLCONF 的值
    猜你喜欢
    • 2020-02-15
    • 2017-06-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多