【问题标题】:Django email address not showing in adminDjango 电子邮件地址未显示在管理员中
【发布时间】:2021-07-09 03:26:08
【问题描述】:

我正在尝试创建一个简单的电子邮件和姓名收集器,一切看起来都很好,但我只能在管理站点中看到姓名选项,电子邮件选项不存在

admin page model

这是我的代码

Forms.py
from django import forms
from sonus import models
from django import forms  

class NameForm(forms.Form):
    your_name = forms.CharField(label="Your Name",max_length=20) 
    your_email = forms.EmailField(label="Email",max_length=100)

这是我的 Views.py

def get_name(request):
    person = Person()

    if request.method=="POST":
       form = NameForm(request.POST)

       if form.is_valid(): 
            person.name = form.cleaned_data['your_name']
            person.email = form.cleaned_data['your_email']
            person.save()
            return HttpResponseRedirect(reverse('index')) 

    else:
        form = NameForm()
    return render(request,'form.html',{ 'form': form })

我的管理员.py

from django.contrib import admin
from django.contrib.admin.decorators import display
from django.contrib.auth.admin import UserAdmin
from .models import Details, Person,list
from sonus import models

# Register your models here.
admin.site.register(Person)

这是模型

class Person(models.Model):
    name = TextField(max_length=20)
    email = EmailField(max_length=100)

    def __str__(self):
        return self.name 

    def get_absolute_url(self):
        return reverse('person',kwargs={'pk': self.pk})

【问题讨论】:

  • 不要在视图的第一行创建人。仅当表单有效时才创建它。您还应该使用模型表单。见ModelForm

标签: django django-models django-forms django-admin


【解决方案1】:

在您的 admin.py 中将您的代码更改为:

class PersonAdmin(admin.ModelAdmin):
    list_display = ('name', 'email',)
admin.site.register(Person, PersonAdmin)

【讨论】:

  • 谢谢你的回答很有帮助这是我现在看到的将这段代码添加到我的管理员非小说 oooo dfgd omg
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-04-24
相关资源
最近更新 更多