我想添加一个按钮,以“验证”用户的下一步注册。
工作人员必须在“用户详细信息”页面中“验证”用户。
因此,我创建了一个带有模板的DetailView视图,其中包含了这个用户的所有细节。但是我想知道是否可以用DetailView函数编写代码,允许用户在单击“验证”时增加step_registration变量?
下面是我的DetailView函数:
views.py
class StudentDetailView(DetailView, LoginRequiredMixin):
model = Student
login_url = loginstudent_detail.html
{% block content %}
<h1>Etudiant: {{ student.user.firstname }} {{ student.user.firstname }}</h1>
<ul>
{% if student.photo %}
<li> Photo :<img src="{{ student.photo.url }}", width = 250, height = 300>"> </li>
{% endif %}
<li> Etat de l'inscription : {{ student.step_registration }}</li>
<li> Date de naissance : {{ student.birthdate }} </li>
</ul>
<button class="btn btn-secondary"> Validate ! </button>
{% endblock %}步骤注册变量称为"step_registration",因此当工作人员单击“验证”时,我希望执行student.step_registration += 1。
发布于 2021-08-01 23:26:26
若要使按钮仅对工作人员可见(还可以添加逻辑以仅在特定步骤显示该按钮):
{% if user.is_staff %}
<button class="btn btn-secondary" href="/validate_student/student.id"> Validate ! </button>
{% endif %}添加视图并将其链接到urls.py中(您可以添加一些逻辑/检查或将步骤设置为某个值):
from django.contrib.admin.views.decorators import staff_member_required
@staff_member_required
def validate_student(request, id):
student = Student.objects.get(id)
student.registration_step += 1
student.save()
return ... # redirect or success pagehttps://stackoverflow.com/questions/68613267
复制相似问题