问题标签 [django-assets]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 为什么我收到 KeyError:“Django 设置未定义解析器”?
我收到以下错误:
(testassets)➜ testassets git:(master) ✗ django-admin.py test 为别名'default'创建测试数据库... E ==================== ================================================== 错误: test_get_site_root_with_settings_overrides (app.tests.AssetsTestCase) ----------------------------------------- ----------------------------- Traceback(最近一次通话最后):文件“/Volumes/fifteen5cs/testassets/app/tests. py”,第 27 行,test_get_site_root_with_settings_overrides http_client.get('/') 文件“/Users/paul/.pyenv/versions/testassets/lib/python2.7/site-packages/django/test/client.py”,行473、在get response = super(Client, self).get(path, data=data, **extra) File "/Users/paul/.pyenv/versions/testassets/lib/python2.7/site-packages/django/test/client.py”,第 280 行,在获取返回 self.request(**r) 文件“/Users/paul/.pyenv/versions/testassets/lib/python2.7/site -packages/django/test/client.py”,第 444 行,在请求 6.reraise(*exc_info) 文件中“/Users/paul/.pyenv/versions/testassets/lib/python2.7/site-packages/django/ core/handlers/base.py”,第 114 行,在 get_response response = Wrapped_callback(request, *callback_args, **callback_kwargs) 文件“/Volumes/fifteen5cs/testassets/app/views.py”,第 9 行,索引 context_instance= RequestContext(请求))文件“/Users/paul/.pyenv/versions/testassets/lib/python2.7/site-packages/django/shortcuts/pyenv/versions/testassets/lib/python2.7/site-packages/django/test/client.py”,第 444 行,请求 6.reraise(*exc_info) 文件“/Users/paul/.pyenv/versions/testassets /lib/python2.7/site-packages/django/core/handlers/base.py”,第 114 行,在 get_response 响应 = Wrapped_callback(request, *callback_args, **callback_kwargs) 文件“/Volumes/fifteen5cs/testassets/app /views.py”,第 9 行,索引 context_instance=RequestContext(request)) 文件“/Users/paul/.pyenv/versions/testassets/lib/python2.7/site-packages/django/shortcuts/pyenv/versions/testassets/lib/python2.7/site-packages/django/test/client.py”,第 444 行,请求 6.reraise(*exc_info) 文件“/Users/paul/.pyenv/versions/testassets /lib/python2.7/site-packages/django/core/handlers/base.py”,第 114 行,在 get_response 响应 = Wrapped_callback(request, *callback_args, **callback_kwargs) 文件“/Volumes/fifteen5cs/testassets/app /views.py”,第 9 行,索引 context_instance=RequestContext(request)) 文件“/Users/paul/.pyenv/versions/testassets/lib/python2.7/site-packages/django/shortcuts/第 114 行,在 get_response response = Wrapped_callback(request, *callback_args, **callback_kwargs) 文件“/Volumes/fifteen5cs/testassets/app/views.py”,第 9 行,在索引 context_instance=RequestContext(request)) 文件“/Users /paul/.pyenv/versions/testassets/lib/python2.7/site-packages/django/shortcuts/第 114 行,在 get_response response = Wrapped_callback(request, *callback_args, **callback_kwargs) 文件“/Volumes/fifteen5cs/testassets/app/views.py”,第 9 行,在索引 context_instance=RequestContext(request)) 文件“/Users /paul/.pyenv/versions/testassets/lib/python2.7/site-packages/django/shortcuts/在里面.py”,第 29 行,在 render_to_response 返回 HttpResponse(loader.render_to_string(*args, **kwargs), **httpresponse_kwargs) 文件“/Users/paul/.pyenv/versions/testassets/lib/python2.7/site- packages/django/template/loader.py”,第 169 行,在 render_to_string 返回 t.render(context_instance) 文件“/Users/paul/.pyenv/versions/testassets/lib/python2.7/site-packages/django/template /base.py”,第 140 行,在渲染中返回 self._render(context) 文件“/Users/paul/.pyenv/versions/testassets/lib/python2.7/site-packages/django/test/utils.py” ,第 85 行,instrumented_test_render 返回 self.nodelist.render(context) 文件“/Users/paul/.pyenv/versions/testassets/lib/python2.7/site-packages/django/template/base.py”,第 840 行,在渲染位 = self.render_node(node, context) 文件“/Users/paul/.pyenv/versions/testassets/lib/python2.7/site-packages/django/template/debug.py”,第 78 行,在 render_node返回 node.render(context) 文件“/Users/paul/.pyenv/versions/testassets/lib/python2.7/site-packages/django_assets/templatetags/assets.py”,第 72 行,在 bundle 中为 url 渲染。 urls():文件“/Users/paul/.pyenv/versions/testassets/lib/python2.7/site-packages/webassets/bundle.py”,第 783 行,在 self.iterbuild 中 bundle、extra_filters、new_ctx 的 url (ctx):文件“/Users/paul/.pyenv/versions/testassets/lib/python2.7/site-packages/webassets/bundle.py”,第 679 行,在 iterbuild for bundle 中,_ 在 self.resolve_contents(ctx ):文件“/用户/保罗/。pyenv/versions/testassets/lib/python2.7/site-packages/webassets/bundle.py”,第 233 行,在 resolve_contents 结果 = ctx.resolver.resolve_source(ctx, item) 文件“/Users/paul/.pyenv/版本/testassets/lib/python2.7/site-packages/webassets/bundle.py”,第 50 行,在getattr return self.getattr(self._parent, item) File "/Users/paul/.pyenv/versions/testassets/lib/python2.7/site-packages/webassets/bundle.py",第 58 行,在 getattr return getattr (对象,项目)文件“/Users/paul/.pyenv/versions/testassets/lib/python2.7/site-packages/webassets/env.py”,第 675 行,在 _get_resolver 返回 self._storage['resolver']文件“/Users/paul/.pyenv/versions/testassets/lib/python2.7/site-packages/django_assets/env.py”,第 62 行,在getitem self._transform_key (key)) KeyError:“Django 设置没有” t 定义 RESOLVER"
我已将此错误半链接到在django.test.utils.override_settings
我的一个单元测试中使用 Django utils 函数(如下所示)
(注意。在第二次请求期间引发了异常!)
我正在处理的第一个问题的代码库太大且无法共享,因此我已将项目精简为仍然会产生问题的少量代码。该迷你项目可以在这里找到https://github.com/logston/testassets。
我花了两天多的时间试图确定这个错误的确切来源以及为什么它在第二个请求而不是第一个请求中发生。我已经尝试了许多单元测试的排列。有趣的是,如果我创建第二个单元测试,一个不启用设置覆盖的单元测试(例如下面的那个)并将该测试命名为在测试期间首先运行,则测试套件通过。如果我在单元测试之后放置相同的test_get_site_root_with_settings_overrides
单元测试,两者都会失败。
对此问题的任何帮助将不胜感激。
最后,我能找到的唯一一个提到相同或类似问题的问题在这里:https ://github.com/miracle2k/django-assets/issues/44
更新 2015/01/12
这个问题似乎与信号的使用有关。我已将上述失败的测试简化为以下内容:
gulp - Django-Oscar 3.1.6 Frobshop 资产的构建失败
我正在研究Frobshop 示例django-oscar
项目。
关于自定义资产的django-oscar
文档相当简洁,而我报告的未解决的错误manage.py oscar_fork_statics
只会增加混乱。这是我(失败的)手动复制文件和编译资产的尝试。
我在/var/work/django/frobshop/
.
django-oscar
我为in安装了一个虚拟环境/var/work/django/oscar/
,因此在该目录中可以找到分发的资产目录 in lib/python3.8/site-packages/oscar/static/oscar/
。该README.rst
目录中的文件说When building your own project, it is not recommended to use these files straight from the package. Rather, you should take a static copy of the ``oscar/static/oscar`` folder and commit it into your project.
看起来很简单,所以我输入:
接下来README.rst
说:You can compile the static assets from the root of the project using a make target: make assets
。
嗯,那没用。https://github.com/django-oscar/django-oscar/blob/master/Makefile是正确的吗Makefile
,我想知道它应该放在哪里?
Runningmake assets
给了我一条错误消息,抱怨缺少package.json
,所以我也从中获取了它django-oscar
。
好像我应该make
从新frobshop/frobshop/static/
目录运行:
安装了许多文件,然后最终出现此消息:
我不知道如何处理该错误。我看到一个名为. 我也应该把它复制到某个地方吗?django-oscar
gulpfile.js
README.rst
接着说:If you make changes to Oscar's assets in development, you can run ``npm run watch`` to automatically watch and compile changes to them.
当然,这只会产生与以前相同的错误消息。