當我從菜單中打開它(沒有發送數據)時,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