我正在尝试使用 Pycharm 社区版来改进我的 Django 应用程序中的代码,但我无法运行我想要的所有 Django 代码。我不断收到此回溯...
Traceback (most recent call last):
File "C:/Users/Jaysp_000/firstSite/PROJECTone/blog_static/views.py", line 1, in <module>
from django.views.decorators.csrf import csrf_exempt
File "C:\Python34\lib\site-packages\django\views\decorators\csrf.py", line 3, in <module>
from django.middleware.csrf import CsrfViewMiddleware, get_token
File "C:\Python34\lib\site-packages\django\middleware\csrf.py", line 14, in <module>
from django.utils.cache import patch_vary_headers
File "C:\Python34\lib\site-packages\django\utils\cache.py", line 26, in <module>
from django.core.cache import caches
File "C:\Python34\lib\site-packages\django\core\cache\__init__.py", line 34, in <module>
if DEFAULT_CACHE_ALIAS not in settings.CACHES:
File "C:\Python34\lib\site-packages\django\conf\__init__.py", line 48, in __getattr__
self._setup(name)
File "C:\Python34\lib\site-packages\django\conf\__init__.py", line 42, in _setup
% (desc, ENVIRONMENT_VARIABLE))
django.core.exceptions.ImproperlyConfigured: Requested setting CACHES, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings.
这个错误似乎涉及到
django.views.decortors.csrf.csrf_exempt
我导入到我的 views.py 文件中。我试过其他文件,他们没有给我任何问题。这个导入有一些特别之处,但我不知道是什么。from django.views.decortors.csrf import csrf_exempt
@csrf_exempt
def handle_hook(request):
from django.http import HttpResponse
from django.core.management import call_command
result = call_command('update_blog', verbosity = 0)
return HttpResponse(result)
当我尝试在 python shell 上运行代码(我使用 3.4)以及当我
import django.http.request as request
时,会出现同样的问题。 .我输入 handle_hook(request)
,我得到了同样的错误。我被告知我必须在访问设置之前定义环境变量 DJANGO_SETTINGS_MODULE 或调用 settings.configure(),但我不知道如何做到这一点。我环顾四周,我不确定这些方法是否特别适合我的问题。有什么线索吗?
最佳答案
转到“运行”菜单,选择“编辑配置...”,然后为您的测试选择运行配置。
选择环境变量按钮。您将看到一个现有变量,即 PYTHONUNBUFFERED
在该添加下(例如)DJANGO_SETTINGS_MODULE=mysitename.settings
关于Pycharm 上的 Django : ImproperlyConfigured with DJANGO_SETTINGS_MODULE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31796715/