ich ein Kontaktformular/Modell in Django haben, die nicht auf dem Server-Betreiber Management Seite zeigt nach oben. Ich habe keine Ahnung, warum es nicht angezeigt wird, ich habe versucht, durch Ausführen von Migrationen zu debuggen, und auch einige der Modellvariablen umbenennen.Django Form zeigt sich nicht auf Admin-Seite
models.py
from django.db import models
class Contact(models.Model):
their_name = models.CharField(max_length=100)
email = models.EmailField(max_length=100)
message = models.CharField(max_length=500)
def __str__(self):
return self.name
forms.py
from django import forms
class ContactForm(forms.Form):
their_name = forms.CharField(label='Name', max_length=100)
email = forms.EmailField(label='Email', max_length=100)
message = forms.CharField(label='Message', max_length=500, widget=forms.Textarea(attrs = {'id': 'Message_form'}))
admin.py
from django.contrib import admin
from .models import Contact
admin.register(Contact)
views.py
from django.shortcuts import render
from django.http import HttpResponse, HttpResponseRedirect
from django.shortcuts import render_to_response
from django.template import RequestContext
from .models import Contact
from .forms import ContactForm
...
def contact(request):
valid_input = 'no input'
if request.method == 'POST':
valid_input = 'invalid input'
TheForm = ContactForm(request.POST)
if TheForm.is_valid():
valid_input = 'valid input'
name = TheForm['name']
email = TheForm['email']
message = TheForm['message']
Contact.objects.create(name=name, email=email, message=message)
else:
TheForm = ContactForm()
return render(request, 'BlogHome/pages/contact.html', {'TheForm': TheForm, 'valid_input': valid_input})
Könnte dies der richtige Weg sein ich das Modell am Import? Ich habe keine Ahnung, was dieses Problem verursacht.
Was haben das Formular und die Ansicht mit der Admin-Seite zu tun? –
Das Modell, mit dem das Formular verknüpft ist, wird nicht angezeigt. –
Im Admin? Nun, hast du die App in INSTALLED_APPS aufgenommen? Dies hat aber wiederum nichts mit der Ansicht und der Form zu tun, die im Admin nicht verwendet werden. –