Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/326.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Django测试错误仅适用于pycharm-而不是终端|应用程序不存在';还没装呢_Python_Django_Unit Testing_Pycharm - Fatal编程技术网

Python Django测试错误仅适用于pycharm-而不是终端|应用程序不存在';还没装呢

Python Django测试错误仅适用于pycharm-而不是终端|应用程序不存在';还没装呢,python,django,unit-testing,pycharm,Python,Django,Unit Testing,Pycharm,使用Pycharm,我得到一些不同的结果,然后从终端运行命令。我注意到,更新视图后,只有在从IDE运行测试时,才会出现“应用程序尚未加载”异常 如果我通过终端“python3 manage.py test”运行测试,则没有问题 IDE运行测试此视图文件没有问题 def wine_data(request): return HttpResponse("<html><title>Wine Data</title></html>") 我收到此错

使用Pycharm,我得到一些不同的结果,然后从终端运行命令。我注意到,更新视图后,只有在从IDE运行测试时,才会出现“应用程序尚未加载”异常

如果我通过终端“python3 manage.py test”运行测试,则没有问题

IDE运行测试此视图文件没有问题

def wine_data(request):
    return HttpResponse("<html><title>Wine Data</title></html>")
我收到此错误(仅当从IDE运行时)

/home/code修改/Projects/python/oldbulltaven/venv/bin/python /opt/pycharm professional/helpers/pycharm/utrunner.py /home/code修改/Projects/python/OldBullTavern/obt/wine/tests.py true 测试在上午11:38开始

错误回溯(最近一次调用上次):文件 “/home/codeamend/Projects/python/OldBullTavern/venv/lib/python3.5/site packages/django/template/utils.py”, 第86行,在getitem 返回self.\u引擎[alias]键错误:“django”

在处理上述异常期间,发生了另一个异常:

回溯(最近一次调用上次):文件 “/home/codeamend/Projects/python/OldBullTavern/obt/wine/tests.py”, 第16行,在测试中加载正确的html response=wine_数据(请求)文件“/home/code修改/Projects/python/OldBullTavern/obt/wine/views.py”, 第6行,在wine_数据中 返回render(请求'wine_data.html')文件“/home/codemander/Projects/python/OldBullTavern/venv/lib/python3.5/site packages/django/shortcuts.py”, 第67行,在渲染中 template_name,context,request=request,using=using)File“/home/codemandend/Projects/python/OldBullTavern/venv/lib/python3.5/site packages/django/template/loader.py”, 第96行,在渲染到字符串中 template=get\u template(template\u name,using=using)File“/home/codemandend/Projects/python/OldBullTavern/venv/lib/python3.5/site packages/django/template/loader.py”, 第26行,在get_模板中 引擎=_engine_列表(使用)文件“/home/codemander/Projects/python/OldBullTavern/venv/lib/python3.5/site packages/django/template/loader.py”, 第143行,输入引擎列表 返回engines.all()(如果使用的不是其他[engines[using]]文件“/home/codemaend/Projects/python/OldBullTavern/venv/lib/python3.5/site packages/django/template/utils.py”, 总共110行 返回[self]文件中别名的[self[alias]/home/codemander/Projects/python/OldBullTavern/venv/lib/python3.5/site packages/django/template/utils.py”, 第110行,在 返回[self]文件中别名的[self[alias]/home/codemander/Projects/python/OldBullTavern/venv/lib/python3.5/site packages/django/template/utils.py”, 第101行,在getitem engine=engine_cls(params)文件“/home/codeamend/Projects/python/oldbulltaven/venv/lib/python3.5/site packages/django/template/backends/django.py”, 第31行,在init 选项['libraries']=self.get_templatetag_库(库)文件 “/home/codeamend/Projects/python/OldBullTavern/venv/lib/python3.5/site packages/django/template/backends/django.py”, 第49行,在get_templatetag_库中 libraries=get_installed_libraries()文件“/home/codemander/Projects/python/OldBullTavern/venv/lib/python3.5/site packages/django/template/backends/django.py”, 第132行,在get_installed_库中 对于apps.get_app_configs()文件“/home/codeadmend/Projects/python/OldBullTavern/venv/lib/python3.5/site packages/django/apps/registry.py”中的app_config, 第137行,在获取应用程序配置中 self.check_apps_ready()文件“/home/code修改/Projects/python/OldBullTavern/venv/lib/python3.5/site packages/django/apps/registry.py”, 第124行,在check\u apps\u ready中 raise AppRegistryNotReady(“应用程序尚未加载。”)django.core.exceptions.AppRegistryNotReady:应用程序尚未加载

进程已完成,退出代码为0

有什么想法吗?

您有正确的测试“工作目录”值和“目标”吗


我在行为测试中遇到了类似的问题…

这似乎是一个虚拟环境加载错误。您是否已将正确的虚拟环境应用于测试环境?请检查本文,然后再次尝试运行它

另外,如果您正在测试正确的模板加载或获取请求,请随时查看

这对我很有用:

  • 运行测试(失败并出现错误)

  • 单击测试名称旁边的下拉列表并选择“编辑配置”

  • 单击“运行/调试配置”左侧面板中的测试名称 对话

  • 单击减号删除测试。单击“确定”

  • 现在重新运行测试,我通过了

  • 我的直觉是,狡猾的测试配置会缓存在
    .idea/
    下,显式删除测试会删除或更新它

    另一种解决方法是手动创建Django测试:

  • 编辑配置

  • 添加新配置(单击“+”按钮)

  • 选择“Django测试”

  • 在“Target”下,输入测试模块的路径(例如“your_app.your_module.tests”)

  • 单击OK,您应该能够运行此配置


  • 因此,您需要的是能够从IDE运行unittest(包括Django的东西)(就像您通过
    manage.py test
    运行它一样)。您试图如何运行它(从IDE控制台或通过右键单击它)?我猜你有Pycharm社区(免费)版?FWIW,我在上周的Pycharm专业版中提到了这一点。仍在努力。好吧,从2017.1.3降级到2017.1.2修复了我的问题,所以这没有帮助。
    def wine_data(request):
        return render(request, 'wine_data.html')