gpt4 book ai didi

python - 如果在 django 模板中已知,则显示其他属性值

转载 作者:行者123 更新时间:2023-11-27 23:11:41 25 4
gpt4 key购买 nike

我在 Django 中有这个应用程序,我正在尝试制作。这是 index.html 页面

<html>
<head>
<title>The index page</title>
</head>
<body>
<h1>Choose the name of student</h1>
<form action= "{% url 'detail' %}" method="post" enctype="multipart/form-data">
{% csrf_token %}
<select name="namedrop">
{% for name in student_list %}
<option value={{name.stuname}}>{{name.stuname}}</option>
{% endfor %}

</select>

<input type="submit" name="submit">
</form>
</body>
</html>

这是 detail.html 页面,当我们选择一个名称并单击提交按钮时它被定向到...

<!DOCTYPE html>
<html>
<head>
<title>Details of student </title>
</head>
<body>
<p>hello {{name}}</p>

<style type="text/css">
p
{
color: blue;
}

</style>
</body>
</html>

但如果选择的名字是“neha”,它只会显示“hello neha”……但我希望它从学生表中打印该学生的所有详细信息……这是 models.py……

from django.db import models

class course(models.Model):
cid=models.IntegerField(unique=True,default=0)
cname=models.CharField(max_length=50)


def __unicode__(self):
return self.cname

class Meta:
db_table= "course"


class student(models.Model):
stuid=models.IntegerField(default=0)
stuname=models.CharField(max_length=50)
cid=models.ForeignKey(course,to_field='cid',on_delete=models.CASCADE)

def __unicode__(self):
return self.stuname

class Meta:
db_table= "student"

class subject(models.Model):
sid=models.IntegerField(default=0)
sub=models.CharField(max_length=50)
cid=models.ForeignKey(course,to_field='cid',on_delete=models.CASCADE)
class Meta:
db_table= "subject"

def __unicode__(self):
return self.sub

这是views.py

from .models import student
from django.http import Http404
from django.shortcuts import render
from django.template import loader
from django.http import HttpResponse


def index(request):
student_list=student.objects.all()
template = loader.get_template('studinfo/index.html')
context= { 'student_list' : student_list, }
return HttpResponse(template.render(context, request))


def detail(request):
if request.method=='POST':
name=request.POST['namedrop']
idd=student.objects.all
return render(request, 'studinfo/detail.html', {'name':name})

我还希望它通过 details.html 页面显示“neha”拥有的所有主题...我该怎么做?

最佳答案

您需要在您的 View detail 中选择具有以下查询的学生:

student = student.objects.filter(stuname=name)[0]

并将结果添加到上下文中:

return render(request, 'studinfo/detail.html', {'name':name, 'student': student})

然后在你的模板中,你可以调用

{{student.stuname}} or {{student.cid}} ...

关于python - 如果在 django 模板中已知,则显示其他属性值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45699023/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com