我正在制作一个django应用程序,该应用程序的主页显示了不同公司提供的实习机会列表.usertype = Student的用户可以查看这些实习机会。单击“申请”时,每个实习列表视图都有一个名为“申请”的按钮。我希望将我的Django模型(StudentApplying)中名为 applied 的布尔字段设置为true。这样,创建此帖子的公司可以查看申请的学生列表,然后可以接受/拒绝他们。我不想使用ajax,javascript等,除非我无法用django本身做到这一点。
models.py
from django.db import models
from InternsOnboardMain.models import internshipPost
from django.contrib.auth.models import User
class StudentApplying(models.Model):
companyName =
models.ForeignKey(internshipPost,on_delete=models.CASCADE)
studentName = models.ForeignKey(User,on_delete=models.CASCADE)
applied = models.BooleanField(default=False)
view.py (我已经尝试过了,但是没有用)
from django.shortcuts import render, redirect,get_object_or_404
from django.contrib import messages
from django.contrib.auth.decorators import login_required
from .models import StudentApplying
from django.contrib.auth.models import User
from django.db.models import F
def applyStatus(request):
if request.GET.get('applybtn'):
profil = get_object_or_404(StudentApplying,
created_by=request.user)
profil.applied = True
profil.save(update_fields=["applied"])
return redirect('InternsOnboard-Home')
return HttpResponse('Not done')
我没有使用任何表格。py
html文件
<form method="POST" action="{% url 'Student-Apply' %}">
{% csrf_token %}
<button class="btn btn-info" name="applybtn">Apply</button>
</form>
没有标签
答案 0 :(得分:1)
再检查一下,问题似乎是您尝试提交一个空表格。因此,您应该尝试执行以下操作:
在视图中:
if “applybtn” in request.POST:
# do this and that
按钮的名称将出现在请求中,因此它应该可以工作。