问题:如何在 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
现在您的模型已在 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/