添加djoser后,Apache2不显示网站,内部服务器错误500

时间:2019-08-30 17:21:52

标签: django apache django-rest-framework apache2 djoser

将djoser添加到我的Django应用中并在localhost上进行所有测试,效果很好。但是,在重新启动apache2(应用程序已添加到apache并可以正常运行)之后,它给出了Internal Server Error 500。

查看了发生了什么,并按照these的说明进行操作以获取实际错误。

产生了以下内容

Traceback (most recent call last):
  File "<path_to_app>/wsgi.py", line 21, in <module>
    application = get_wsgi_application()
  File "<path_to_app>/env/lib/python3.6/site-packages/django/core/wsgi.py", line 12, in get_wsgi_application
    django.setup(set_prefix=False)
  File "<path_to_app>/env/lib/python3.6/site-packages/django/__init__.py", line 24, in setup
    apps.populate(settings.INSTALLED_APPS)
  File "<path_to_app>/env/lib/python3.6/site-packages/django/apps/registry.py", line 91, in populate
    app_config = AppConfig.create(entry)
  File "<path_to_app>/env/lib/python3.6/site-packages/django/apps/config.py", line 90, in create
    module = import_module(entry)
  File "/usr/lib/python3.6/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 994, in _gcd_import
  File "<frozen importlib._bootstrap>", line 971, in _find_and_load
  File "<frozen importlib._bootstrap>", line 953, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'djoser'
mod_wsgi (pid=7989): Target WSGI script '<path_to_app>/wsgi.py' does not contain WSGI application 'application'.
mod_wsgi (pid=8126): Target WSGI script '<path_to_app>/wsgi.py' does not contain WSGI application 'application'.

我不知道为什么它说没有名为“ djoser”的模块,python / pip告诉我它已经安装并且可以在本地主机上工作。

1 个答案:

答案 0 :(得分:1)

之后,我也看到了类似的错误
$ sudo apachectl graceful 

但是他们吃饱了就消失了

$ sudo apachectl restart

那可能值得尝试。

编辑后包含了评论中的实际解决方案:

另外,检查您的python路径。 djoser在哪里?我曾经在将模块安装到dist-packages和site-packages时遇到问题。并且在虚拟环境或不同用户的情况下,Apache可能会使用与运行开发服务器时所用路径不同的python路径。