html post 方法出错,错误:不允许的方法(POST):“POST/HTTP/1.1”405 0

我试图在主页上注册,所以我没有单独的网址来处理注册。我试图通过get_context_data发送表单,但是它不起作用。我的代码是:

表单.pyclass UserRegistrationForm(forms.ModelForm):

password = forms.CharField(widget=forms.PasswordInput)

class Meta:

model = User

fields = [

'username',

'password',

]

视图.py

^{pr2}$

基本.html

{% csrf_token %}

{{ form.username }}

{{ form.password }}

所以当我提交表单时,它会给出以下错误:Method Not Allowed (POST): "POST / HTTP/1.1" 405 0

它并没有创造一个新的用户。知道问题出在哪里吗?在

编辑:尝试了FormMixin,得到以下错误:The view app.views.BoxesView didn't return an HttpResponse object. It returned None instead.class BoxesView(ListView):

template_name = 'polls.html'

form_class = UserRegistrationForm

def post(self, request, *args, **kwargs):

form = self.get_form()

if form.is_valid():

username = form.cleaned_data['username']

password = form.cleaned_data['password']

user = User.objects.create_user(username=username, password=password)

user.save()

return redirect('/')

def get_context_data(self):

context = super(BoxesView, self).get_context_data()

context['form'] = self.get_form()

return context

def get_queryset(self):

pass