Skip to main content
 首页 » 编程设计

python之在用户发送的 Django 管理页面中显示数据

2025年05月04日24fff_TT

问题:如何在 Django 管理页面中显示用户通过表单\字段从网页发送的数据?!

附言我只是 Django 的初学者,所以我认为我的问题很容易解决,但现在我不知道如何解决。请不要苛刻地评判我。我会很高兴有任何关于它的例子或文章。 =)

表单.py

class TicketForms(forms.Form): 
    name = forms.CharField(max_length=120, required=True) 
    email = forms.EmailField(required=False) 
    department = forms.CharField(max_length=120, required=True) 
    room = forms.CharField(max_length=100, required=True) 
    comment = forms.CharField(required=True, widget=forms.Textarea) 

模型.py

from django.db import models 
 
class Ticket(models.Model): 
    name = models.TextField(null=True, blank=True) 
    email = models.TextField(null=True, blank=True) 
    department = models.TextField(null=True, blank=True) 
    room = models.TextField(null=True, blank=True)  # TextField cause room can be 408A as example 
    comment = models.TextField(null=True, blank=True) 
 
    def __str__(self):  # __unicode__ on Python 2.7 
        return self.name 

admin.py

from django.contrib import admin 
from .models import Ticket 
 
 
# Register your models here. 
class Admin(admin.ModelAdmin): 
    class Meta: 
        model = Ticket 
 
 
admin.site.register(Ticket, Admin) 

请您参考如下方法:

由于您的管理页面是空的,这意味着您还没有在管理界面中注册您的模型。只需转到与 models.py 相同的目录中的每个应用程序,您应该找到 admin.py,如果不是,只需创建它并添加以下内容:

1. admin.py

from django.contrib import admin 
from ticket.models import Ticket 
 
admin.site.register(Ticket) 

2.然后将您的应用添加到settings.py:

    INSTALLED_APPS = ( 
        ... 
        'tickets', 
    ) 

3.应用迁移

  python manage.py makemigrations 
  python manage.py migrate 
  1. 现在您的模型已在 views.py 中准备就绪:

    def home(request): 
        form = TicketForms(request.POST) 
        # validate your form 
        if form.is_valid(): 
           Ticket.objects.create(**form.cleaned_data) 
           # return success url 
        else: 
           context = {'form': form} 
           render(request, 'ticket.html', context) 
    

再次检查你的管理员,你会发现保存的数据显示。

因为你是 Django 的新手,我会推荐你​​去看看这个官方 django tutoriel有 7 个部分。