【问题标题】:Error running WSGI application, ModuleNotFoundError: No module named 'mysite'. Also not able to find Static files运行 WSGI 应用程序时出错,ModuleNotFoundError: No module named 'mysite'。也找不到静态文件
【发布时间】:2021-11-10 19:56:12
【问题描述】:

我正在尝试使用 pythonanywhere 部署我的网站。我在 wsgi 文件中给出了正确的路径,如下所示(参见下面的代码)。我仍然收到 ModuleNotFoundError。 此外,它无法找到静态文件,但是它们位于正确的位置。

wsgi文件代码:

{ 
    path = '/home/divyanshu964/portfolio/Personal_portfolio/'
    
    if path not in sys.path:
            sys.path.insert(0, path)
 
    os.environ['DJANGO_SETTINGS_MODULE'] = 'Personal_portfolio.settings'

    from django.core.wsgi import get_wsgi_application
    application = get_wsgi_application()
}

有人可以帮忙吗?谢谢。

【问题讨论】:

  • 向我们展示完整的回溯错误。
  • 我已经给出了正确的路径,所以这不应该是问题,所以不,它没有帮助
  • 看起来你需要在 PythonAnywhere 的“web”页面上重新加载你的 web 应用
  • 我已经重新加载了好几次。什么都没有发生

标签: django static settings wsgi pythonanywhere


【解决方案1】:

您好 @DivyanshuRaghuwanshi 加载静态文件,您可以在 settings.py 中设置 DEBUG=True 但在生产中设置 DEBUG 不是一个好习惯,因此另一种方法是设置您的 DEBUG=False 并创建 STATIC_ROOT 并在项目根目录 urls.py 中配置它,然后运行 ​​python manage.py collectstatic 命令,然后在 pythonanywhere 中提供静态根目录的路径配置

【讨论】:

    【解决方案2】:

    除了与 Django 直接相关的设置外,PythonAnywhere 上还有一些额外的步骤。

    • wsgi 文件:您需要编辑链接在 Web 应用页面上的文件,而不是项目中的文件(查看文档here

    • 静态文件:也可以在 Web 应用页面上设置静态文件映射(查看文档here)。

    【讨论】:

      猜你喜欢
      • 2018-12-16
      • 2020-02-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-07-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多