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

标签 python django python-3.x django-forms django-admin

问题:如何在 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 个部分。

关于python - 在用户发送的 Django 管理页面中显示数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34268461/

相关文章:

python - 如何访问 Django 模板中的用户配置文件?

python-3.x - 使用 Spacy 训练 NER 从 Resume 中提取技能。过渡中的 U-entity_name 是什么意思

python - 即使实际设置了键,字典也会在查找时引发 KeyError

python - 合并两个数据框的行

Django 自定义小部件渲染

django - 类型对象 'UserProfile' 没有属性 'objects'

python - 使 QTextEdit 大小适合文本大小 pyqt5

python - 1行函数获取中间字母,语法错误

Python 解决方案允许通过电子邮件将照片上传到我的 Django 网站

python - 结合 web2py 身份验证装饰器