Ошибки формы Django (__init __ () принимает 1 позиционный аргумент, но 2 были заданы) - PullRequest
0 голосов
/ 09 мая 2018

Я использую Django 1.11 и python 3.6.5. Я сделал модель и форму для регистрации пользователя. Кажется, все хорошо, но у меня есть эта ошибка, которую я не мог решить.

__init__() takes 1 positional argument but 2 were given

Вот модель:

from django.db import models

class User_account(models.Model):

first_name = models.CharField(max_length=64)
last_name = models.CharField(max_length=64)
user_name = models.CharField(max_length=128)
email = models.EmailField(max_length=254, blank=False, unique=True)
password = models.CharField(max_length=64) 
address = models.ForeignKey(Address, on_delete=models.CASCADE)

Вот форма:

from django import forms
from .models import User_account

class User_accountForm(forms.ModelForm):

    class Meta:
        model = User_account
        fields = ['first_name', 'last_name', 'user_name', 'email', 'password', 'address']

Вот часть вида:

from django.shortcuts import render, redirect
from .models import *
from django.views import View
from .forms import *
from django.contrib.auth import authenticate, login


class User_accountFormView(View):
    form_class = User_accountForm
    template_name = 'towns/salehslist/registeration_form.html'

    # display a blank form
    def get(self, request, *args, **kwargs):
        form = self.form_class(None)

        return render(request, self.template_name, {'form':form})

URL-адреса:

from django.conf.urls import url

from . import views

urlpatterns = [

    url(r'^$', views.index, name='index'),
    url(r'^register/$', views.User_accountFormView, name='register'),

1 Ответ

0 голосов
/ 09 мая 2018

Вам нужно позвонить as_view(), когда вы включаете представление на основе классов в шаблоны URL.

url(r'^register/$', views.User_accountFormView.as_view(), name='register'),
...