Django __init__(): unexpected keyword argument 'instance'

Django, Flask, Bottle, WSGI, CGI…
Antworten
beukelaer
User
Beiträge: 12
Registriert: Dienstag 21. August 2018, 14:15

Hi,
ich bekomme untenstehenden Fehler und kann mir den überhaupt nicht erklären. Ich möchte (fehlt im unteren Code) eigentlich widgets einbinden. Aber ohne diesen wird schon der Fehler geworfen. (Ich bin mir im Klaren, dass bei unterem vermutl. ModelForm cleverer wäre.) Hat jmd eine Idee?
Django Version: 2.1
Exception Type:TypeError
Exception Value:__init__() got an unexpected keyword argument 'instance'

Code: Alles auswählen

class UserN(models.Model):
    login = models.CharField(max_length=100)
    password = models.CharField(max_length=100)

#CreateView:
class RegistrationForm(forms.Form):
    login = forms.CharField(max_length=100)
    password = forms.CharField(max_length=100)
    class Meta:
        model = UserN 
        fields = ('login', 'password')

class RegistrationView(CreateView):
    model = UserN
    form_class = RegistrationForm
    #fields = ['login','password']
    template_name = 'Immo/registrieren.html'
    success_url = reverse_lazy('/user/index')
    def form_valid(self, form):
        form.save()
        return super().form_valid(form)

Code: Alles auswählen

    <label for="{{ form.login.auto_id }}" class="sr-only">Email address</label>{{ field.errors }}
      
    {{ form.login }}
    {% if form.login.help_text %}        <p class="help">{{ form.login.help_text|safe }}</p>        {% endif %}
    
    
    <label for="{{ form.password.auto_id }}" class="sr-only">Password</label>{{ field.errors }}

    {{ form.password }}
    {% if form.login.help_text %}        <p class="help">{{ form.login.help_text|safe }}</p>        {% endif %}
Benutzeravatar
noisefloor
User
Beiträge: 3843
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,

poste mal bitte den vollen Traceback und die Datei, auf die sich die Fehlermeldung bezieht. Mit dem geschnipsel, was du gepostet hast, kommt man nicht wirklich weit.

Gruß, noisefloor
beukelaer
User
Beiträge: 12
Registriert: Dienstag 21. August 2018, 14:15

Eigentlich wollte ich die Dateien posten, aber die sind leider zu groß:
Dein Beitrag besteht aus 115446 Zeichen.
Es sind maximal 60000 Zeichen erlaubt.
daher:
https://www.dropbox.com/s/oumjibhs0nujv ... .html?dl=0
https://www.dropbox.com/s/fnauuhz18eq62 ... .html?dl=0


Eingebunden habe ich es über:

Code: Alles auswählen

 path('registrieren', form_.RegistrationView.as_view(), name='registrieren_URLS.PY'), 
Wofür ist eigentlich name='registrieren_URLS.PY'?? Ich habe bisher noch nicht verstanden, wann genau name gebraucht wird.
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Huch, du entwickelst ein Django Projekt unter Windows mit Microsoft Visual Studio ?!? Strange...

Hab mit den Traceback angesehen und kann da wenig zu sagen. Sieht nur alles ein wenig krude aus. Ich würde mir mal Immo.form_.RegistrationForm näher ansehen.

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
beukelaer
User
Beiträge: 12
Registriert: Dienstag 21. August 2018, 14:15

UserN, RegistrationForm, RegistrationView sind in der Immo.form_.RegistrationForm (Quellcode siehe oben).

Als Info: Der Quellcode wurde um unnötige CSS, JS und HTML-Teile bereinigt. Django wertet die eh nicht aus (sind also für die Fehlermeldung unrelevant).

Ja ich weiß, dass das sehr strange ist. Beruflich nutze ich Visual Studio fast den kompletten Tag. Am PC habe ich dann auch nicht immer Lust zwischen VMs zu switchen (oder alternativ immer den PC neuzustarten).

Aktuell ist das komplette Python Projekt noch im Entwicklungsstadius. Allein arbeitstechnisch bin ich noch nicht zum Server (bzw. Webapplication aufsetzen) gekommen. Das folgt in den nächsten Monaten. Ob sich dann was ändert, weiß ich noch nicht.

Ich muss aber berichten, dass sich die Python-Integration von grottig (in VS 2015) zu gut (in VS 2017) verändert hat. Sonst würde ich es auch nicht nutzen. Leider stell ich mich halt noch recht doof in der Webtechnik - hab eben null Erfahrung.
beukelaer
User
Beiträge: 12
Registriert: Dienstag 21. August 2018, 14:15

Lsg: Die View darf kein Model kriegen. Lieber einfach ModelForm nehmen ;)
Antworten