python - 使用 django 在 HTML 页面中显示数据库中的数据

标签 python html django

我正在尝试使用 python 将数据添加到 html 页面,但页面除了页面上的正常元素外是空白的。

这是我的views.py:

def index(request):
next = request.GET.get('next', '/admin')
if request.method == "POST":
    username = request.POST['username']
    password = request.POST['password']

    user = authenticate(username=username, password=password)

    if user is not None:
        if user.is_active:
            login(request, user)
            data = Students.objects.all()
            return render_to_response("login/profile.html", {'data', data})
        else:
            HttpResponse("Inactive User.")
    else:
        print("User Not Found!")
        return HttpResponseRedirect(settings.LOGIN_URL)

return render(request, 'login/home', {'redirect_to':next})

这是我的学生模块:

class Students(models.Model):
    student_number = models.IntegerField(primary_key=True)
    f_name = models.CharField(max_length=20, blank=True, null=True)
    l_name = models.CharField(max_length=20, blank=True, null=True)
    dob = models.DateField(blank=True, null=True)
    address = models.CharField(max_length=144, blank=True, null=True)
    county = models.CharField(max_length=20, blank=True, null=True)
    phone_number = models.CharField(max_length=45, blank=True, null=True)
    email = models.CharField(max_length=45, blank=True, null=True)
    gpa = models.IntegerField(blank=True, null=True)
    course_code = models.ForeignKey(Courses, models.DO_NOTHING, db_column='course_code', blank=True, null=True)
    college = models.ForeignKey(Colleges, models.DO_NOTHING, blank=True, null=True)
    passwords = models.CharField(max_length=60, blank=True, null=True)

    class Meta:
        db_table = 'students'

我的 html 页面:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
    <h1>HEY!!!!</h1>
    <p>
        {{ data.f_name}}
        {{ data.l_name }}
        {{ data.student_number }}
        {{ data.dob }}
    </p>
     <a href="/">logout</a>
</body>
</html>

我已经查找了一段时间,但我似乎无法找到为什么它没有在我的页面上显示任何内容。如果有人可以提供帮助,我将不胜感激!

最佳答案

我花了一段时间,但我想我终于找到了问题的答案。

将其添加到 views.py 中

data = Students.objects.all()

stu = {
    "student_number": data
}


return render_to_response("login/profile.html", stu)

然后它遍历存储在 stu 变量中的数据

{% for student in student_number %}
    {{ student.f_name}}
    {{ student.l_name }}
    {{ student.student_number }}
    {{ student.dob }}
{% endfor %}

关于python - 使用 django 在 HTML 页面中显示数据库中的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36631419/

相关文章:

html - 基于 ajax 的应用程序中的 Adsense?

javascript - 条件问题 NetSuite 电子邮件从 SuiteScript 与使用 Freemarker 的模板合并

javascript - 点击展开div不起作用

django 固定装置日期时间字段运行时警告

python - Django url.py 具有相同正则表达式名称模式的不同 View 函数

python - pytest:如何获取从模拟类返回的(模拟)实例?

python - 基于分隔符从python中的字符串中提取子字符串

python - Django 中 CreateView 的一些问题

Python不解析命令行

python - Django Forms - 如何使用前缀参数