Django 表单未显示在管理页面上

Django form not showing up on admin page

我在 Django 中有一个联系人 form/model,但未显示在管理员管理页面上。 我不知道为什么它没有出现,我尝试通过 运行 迁移进行调试,并重命名了一些模型变量。

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})

这可能是我导入模型的方式吗?我不知道是什么导致了这个问题。

在您的 admin.py 中为您的联系人模型创建一个管理员 class,然后在管理员中使用该 class 注册该模型。

class ContactAdmin(admin.ModelAdmin):
    list_display = ('id', 'their_name', 'email', 'message') 

admin.site.register(Contact, ContactAdmin)