当我从菜单中打开它(没有发送数据)时,Django显示页面正常。但是当我通过表单发布数据时,Django会生成一个白色的空白页面。控制台中没有错误消息。View在POST上产生空白页面
这是我的urls.py
url(r'^signin', myView.as_view(template_name='login.html'), name='signin'),
这是我的views.py
class myView(TemplateView):
def get_context_data(self,**kwargs):
context = super(myView, self).get_context_data(**kwargs)
if self.request.path == '/signup':
context.update(self.create_user())
return context
def create_user(self):
data = {}
if self.request.POST:
if 'email' in self.request.POST and 'user' in self.request.POST \
and 'password' in self.request.POST:
User.objects.create_user(self.request.POST['user'],
self.request.POST['email'],
self.request.POST['password'])
data['msg'] = _('User created')
else:
data['error'] = _("Incomplete data")
return data
这是我的控制台日志,当我发布数据:
"POST /signin HTTP/1.1" 405 0
我已经设置DEBUG = True
in settings.py
。什么可能是错的?谢谢。
'405方法不允许'是你的错误,你错过了你的发布方法 –
不要为此使用'TemplateView'。如果你坚持使用CBV去遵循惯例并使用'CreateView'。你的接班人会感谢你。 –
@limelights谢谢。我会改变我的代码。我在这个问题上缺乏完整的例子。 – asofyan