[英]Django Gunicorn: Error when calling the metaclass bases
I have a Django application which includes a custom model field (and accompanying form field). 我有一个Django应用程序,其中包括一个自定义模型字段(以及随附的表单字段)。 When I run the project with the built-in development server, it works fine.
当我使用内置的开发服务器运行项目时,它可以正常工作。 Loading the server with gunicorn, however, results in the following error:
但是,用gunicorn加载服务器会导致以下错误:
TemplateSyntaxError at /admin/
Caught TypeError while rendering: Error when calling the metaclass bases
must be type, not None
I've included the whole error below for completeness, which shows the line at fault: 为了完整起见,我在下面包括了整个错误,该错误显示了错误所在的行:
Traceback:
File "/home/rob/.virtualenvs/shipp/lib/python2.7/site-packages/django/core/handlers/base.py" in get_response
111. response = callback(request, *callback_args, **callback_kwargs)
File "/home/rob/.virtualenvs/shipp/lib/python2.7/site-packages/django/contrib/admin/sites.py" in wrapper
214. return self.admin_view(view, cacheable)(*args, **kwargs)
File "/home/rob/.virtualenvs/shipp/lib/python2.7/site-packages/django/utils/decorators.py" in _wrapped_view
93. response = view_func(request, *args, **kwargs)
File "/home/rob/.virtualenvs/shipp/lib/python2.7/site-packages/django/views/decorators/cache.py" in _wrapped_view_func
79. response = view_func(request, *args, **kwargs)
File "/home/rob/.virtualenvs/shipp/lib/python2.7/site-packages/django/contrib/admin/sites.py" in inner
197. return view(request, *args, **kwargs)
File "/home/rob/.virtualenvs/shipp/lib/python2.7/site-packages/django/views/decorators/cache.py" in _wrapped_view_func
79. response = view_func(request, *args, **kwargs)
File "/home/rob/.virtualenvs/shipp/lib/python2.7/site-packages/django/contrib/admin/sites.py" in index
382. context_instance=context_instance
File "/home/rob/.virtualenvs/shipp/lib/python2.7/site-packages/django/shortcuts/__init__.py" in render_to_response
20. return HttpResponse(loader.render_to_string(*args, **kwargs), **httpresponse_kwargs)
File "/home/rob/.virtualenvs/shipp/lib/python2.7/site-packages/django/template/loader.py" in render_to_string
188. return t.render(context_instance)
File "/home/rob/.virtualenvs/shipp/lib/python2.7/site-packages/django/template/base.py" in render
123. return self._render(context)
File "/home/rob/.virtualenvs/shipp/lib/python2.7/site-packages/django/template/base.py" in _render
117. return self.nodelist.render(context)
File "/home/rob/.virtualenvs/shipp/lib/python2.7/site-packages/django/template/base.py" in render
744. bits.append(self.render_node(node, context))
File "/home/rob/.virtualenvs/shipp/lib/python2.7/site-packages/django/template/debug.py" in render_node
73. result = node.render(context)
File "/home/rob/.virtualenvs/shipp/lib/python2.7/site-packages/django/template/loader_tags.py" in render
127. return compiled_parent._render(context)
File "/home/rob/.virtualenvs/shipp/lib/python2.7/site-packages/django/template/base.py" in _render
117. return self.nodelist.render(context)
File "/home/rob/.virtualenvs/shipp/lib/python2.7/site-packages/django/template/base.py" in render
744. bits.append(self.render_node(node, context))
File "/home/rob/.virtualenvs/shipp/lib/python2.7/site-packages/django/template/debug.py" in render_node
73. result = node.render(context)
File "/home/rob/.virtualenvs/shipp/lib/python2.7/site-packages/django/template/loader_tags.py" in render
127. return compiled_parent._render(context)
File "/home/rob/.virtualenvs/shipp/lib/python2.7/site-packages/django/template/base.py" in _render
117. return self.nodelist.render(context)
File "/home/rob/.virtualenvs/shipp/lib/python2.7/site-packages/django/template/base.py" in render
744. bits.append(self.render_node(node, context))
File "/home/rob/.virtualenvs/shipp/lib/python2.7/site-packages/django/template/debug.py" in render_node
73. result = node.render(context)
File "/home/rob/.virtualenvs/shipp/lib/python2.7/site-packages/django/template/defaulttags.py" in render
311. return self.nodelist_true.render(context)
File "/home/rob/.virtualenvs/shipp/lib/python2.7/site-packages/django/template/base.py" in render
744. bits.append(self.render_node(node, context))
File "/home/rob/.virtualenvs/shipp/lib/python2.7/site-packages/django/template/debug.py" in render_node
73. result = node.render(context)
File "/home/rob/.virtualenvs/shipp/lib/python2.7/site-packages/django/template/defaulttags.py" in render
311. return self.nodelist_true.render(context)
File "/home/rob/.virtualenvs/shipp/lib/python2.7/site-packages/django/template/base.py" in render
744. bits.append(self.render_node(node, context))
File "/home/rob/.virtualenvs/shipp/lib/python2.7/site-packages/django/template/debug.py" in render_node
73. result = node.render(context)
File "/home/rob/.virtualenvs/shipp/lib/python2.7/site-packages/django/template/loader_tags.py" in render
64. result = block.nodelist.render(context)
File "/home/rob/.virtualenvs/shipp/lib/python2.7/site-packages/django/template/base.py" in render
744. bits.append(self.render_node(node, context))
File "/home/rob/.virtualenvs/shipp/lib/python2.7/site-packages/django/template/debug.py" in render_node
73. result = node.render(context)
File "/home/rob/.virtualenvs/shipp/lib/python2.7/site-packages/django/template/defaulttags.py" in render
437. url = reverse(view_name, args=args, kwargs=kwargs, current_app=context.current_app)
File "/home/rob/.virtualenvs/shipp/lib/python2.7/site-packages/django/core/urlresolvers.py" in reverse
391. *args, **kwargs)))
File "/home/rob/.virtualenvs/shipp/lib/python2.7/site-packages/django/core/urlresolvers.py" in reverse
312. possibilities = self.reverse_dict.getlist(lookup_view)
File "/home/rob/.virtualenvs/shipp/lib/python2.7/site-packages/django/core/urlresolvers.py" in _get_reverse_dict
229. self._populate()
File "/home/rob/.virtualenvs/shipp/lib/python2.7/site-packages/django/core/urlresolvers.py" in _populate
208. for name in pattern.reverse_dict:
File "/home/rob/.virtualenvs/shipp/lib/python2.7/site-packages/django/core/urlresolvers.py" in _get_reverse_dict
229. self._populate()
File "/home/rob/.virtualenvs/shipp/lib/python2.7/site-packages/django/core/urlresolvers.py" in _populate
208. for name in pattern.reverse_dict:
File "/home/rob/.virtualenvs/shipp/lib/python2.7/site-packages/django/core/urlresolvers.py" in _get_reverse_dict
229. self._populate()
File "/home/rob/.virtualenvs/shipp/lib/python2.7/site-packages/django/core/urlresolvers.py" in _populate
197. for pattern in reversed(self.url_patterns):
File "/home/rob/.virtualenvs/shipp/lib/python2.7/site-packages/django/core/urlresolvers.py" in _get_url_patterns
279. patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
File "/home/rob/.virtualenvs/shipp/lib/python2.7/site-packages/django/core/urlresolvers.py" in _get_urlconf_module
274. self._urlconf_module = import_module(self.urlconf_name)
File "/home/rob/.virtualenvs/shipp/lib/python2.7/site-packages/django/utils/importlib.py" in import_module
35. __import__(name)
File "/home/rob/projects/shipp/shipp/tickets/urls.py" in <module>
3. from shipp.tickets.views import TicketListView, TicketDetailView, \
File "/home/rob/projects/shipp/shipp/tickets/views.py" in <module>
15. from shipp.tickets.forms import TicketForm, TicketAttributesForm, \
File "/home/rob/projects/shipp/shipp/tickets/forms.py" in <module>
26. class TicketTimeSpentForm(forms.ModelForm):
File "/home/rob/.virtualenvs/shipp/lib/python2.7/site-packages/django/forms/models.py" in __new__
205. opts.exclude, opts.widgets, formfield_callback)
File "/home/rob/.virtualenvs/shipp/lib/python2.7/site-packages/django/forms/models.py" in fields_for_model
159. formfield = f.formfield(**kwargs)
File "/home/rob/projects/shipp/shipp/../shipp/tickets/fields.py" in formfield
43. return super(TimedeltaField, self).formfield(*args, **defaults)
Exception Type: TemplateSyntaxError at /admin/
Exception Value: Caught TypeError while rendering: Error when calling the metaclass bases
must be type, not None
As you can see from the traceback, the line causing the issue (line 43 in fields.py
) is just a regular super
call. 从回溯中可以看到,引起问题的行(
fields.py
第43 fields.py
)只是常规的super
调用。 Do you have any ideas as to why this error is happening? 您对为什么会发生此错误有任何想法吗? It occurs in different places also, if I remove the method causing the issue above.
如果我删除导致上述问题的方法,它也会在其他地方发生。
This is due to a bug in Gunicorn when we were trying to reload Django. 这是由于我们尝试重新加载Django时Gunicorn中的错误所致。 Its since been reverted and should be fixed on master.
此后已恢复,应固定在主节点上。 We're currently working on an alternative method to get reloading running for the run_gunicorn command.
我们目前正在研究一种替代方法,以使run_gunicorn命令可以重新加载。 You can follow the progress of this here:
您可以在此处关注其进度:
https://github.com/benoitc/gunicorn/issues/222 https://github.com/benoitc/gunicorn/issues/222
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.