我如何通过 django 在我的管理面板中存储用户的投诉
How can I store a complaint made by a user in my admin panel by django
我在 views.py 和 forms.py 中写了什么来存储用户的投诉:
这是我网站的外观,用户可以在这里输入投诉。我如何保存这些投诉以便以后显示、编辑或相应地删除它们。如何在管理面板中以列表的形式保存这些投诉。
models.py:
class Complaints(models.Model):
user = models.ForeignKey(User, on_delete= models.CASCADE, null = True, blank=True)
title = models.CharField(max_length=300)
description = models.TextField(null=True, blank= True)
highpriority = models.BooleanField(default=False)
document = models.FileField(upload_to='static/documents')
def __str__(self):
return self.title
我在 views.py 和 forms.py 中写了什么来做到这一点。请帮我。基本功能是接受投诉,以便相关人员可以收到投诉并相应地解决投诉。我如何制作视图和表格,以便我们可以接受这些投诉并将它们相应地存储在某个地方?
模板
<form class="" action="" method="POST" enctype="multipart/form-data">
{% csrf_token %}
<div class="form-control col-lg-10 comp-title-field">{{form.title}}</div>
<p class="desc">Description</p>
<button type="button" class="btn btn-secondary preview-btn">Preview</button>
<div class="Descr ">{{form.description}}</div>
<button type="file" name="myfile" class="btn btn-secondary attach-btn"><i class="fas fa-file-upload"></i> Attachment</button>
<button type="submit" class="btn btn-secondary save-btn" value="submit"><i class="fas fa-save"></i> Save</button>
</form>
请检查下面并根据您的逻辑做一些小的修改
#forms.py
from django.forms import ModelForm
import your model
class ComplaintForm(ModelForm):
class Meta:
model = Complaints
fields = ['title', 'description', 'highpriority', 'document']
views.py
import your form
def view_name(request):
user = request.user
if request.method == 'POST':
form = ComplaintForm(request.POST)
if form.is_valid():
form.save(commit=False)
form.user = request.user
form.save()
return render(request,your_template_path,ypur_context)
return render(request,your_template_path,ypur_context)
else:
form = ComplaintForm()
return render(request,your_template_path,ypur_context)
我在 views.py 和 forms.py 中写了什么来存储用户的投诉:
这是我网站的外观,用户可以在这里输入投诉。我如何保存这些投诉以便以后显示、编辑或相应地删除它们。如何在管理面板中以列表的形式保存这些投诉。
models.py:
class Complaints(models.Model):
user = models.ForeignKey(User, on_delete= models.CASCADE, null = True, blank=True)
title = models.CharField(max_length=300)
description = models.TextField(null=True, blank= True)
highpriority = models.BooleanField(default=False)
document = models.FileField(upload_to='static/documents')
def __str__(self):
return self.title
我在 views.py 和 forms.py 中写了什么来做到这一点。请帮我。基本功能是接受投诉,以便相关人员可以收到投诉并相应地解决投诉。我如何制作视图和表格,以便我们可以接受这些投诉并将它们相应地存储在某个地方?
模板
<form class="" action="" method="POST" enctype="multipart/form-data">
{% csrf_token %}
<div class="form-control col-lg-10 comp-title-field">{{form.title}}</div>
<p class="desc">Description</p>
<button type="button" class="btn btn-secondary preview-btn">Preview</button>
<div class="Descr ">{{form.description}}</div>
<button type="file" name="myfile" class="btn btn-secondary attach-btn"><i class="fas fa-file-upload"></i> Attachment</button>
<button type="submit" class="btn btn-secondary save-btn" value="submit"><i class="fas fa-save"></i> Save</button>
</form>
请检查下面并根据您的逻辑做一些小的修改 #forms.py
from django.forms import ModelForm
import your model
class ComplaintForm(ModelForm):
class Meta:
model = Complaints
fields = ['title', 'description', 'highpriority', 'document']
views.py
import your form
def view_name(request):
user = request.user
if request.method == 'POST':
form = ComplaintForm(request.POST)
if form.is_valid():
form.save(commit=False)
form.user = request.user
form.save()
return render(request,your_template_path,ypur_context)
return render(request,your_template_path,ypur_context)
else:
form = ComplaintForm()
return render(request,your_template_path,ypur_context)