【问题标题】:how to get the data from view to templates?如何将数据从视图获取到模板?
【发布时间】:2018-08-30 04:20:52
【问题描述】:

我正在尝试将数据从我的 views.py 获取到 html 页面。 如果views.py代码是这样的

def VerifiedBySuperuser(request):
if request.method == 'POST':
        vbs = MaanyaIT_EXAM48_ManageQuestionBank()
        vbs.QuestionID = MaanyaIT_EXAM48_ManageQuestionBank.objects.get(QuestionID=request.POST.get(QuestionID, None))
        vbs.QuestionInEnglishLang = request.POST.get('QuestionInEnglishLang', None)
        vbs.save()
else:
        return render(request, 'exam48app/verifiedbysuperuser.html')

那么 html 页面的代码应该如何查看我的所有数据到 tamplates..

这是我的html页面

<form class="from-horizontal" method="post"  enctype="multipart/form-data">
{% csrf_token %}
<div class="post-entry">
     {{ MaanyaIT_EXAM48_ManageQuestionBank.QuestionInEnglishLang }}
</div>
</form>

现在我该怎么办?

【问题讨论】:

  • return render(request, 'exam48app/verifiedbysuperuser.html', context={"data":yourdata})
  • 不不,我想知道我应该在html页面中写什么,以便数据显示在html页面中。
  • 您需要在渲染函数中返回一个上下文变量。这个上下文变量(你的数据)可以在你的 html 中用作 {{variable_name}} ,无论你想使用它。
  • 查看html页面...

标签: html django django-2.0


【解决方案1】:

从您的评论中,您需要知道如何将数据从视图写入/渲染到 html 模板
我将为您演示一个简单的示例,
假设您有如下视图,

def VerifiedBySuperuser(request):
    if request.method == 'GET':
        context = {
            "T_Name": "My Name",
            "T_Age": 50,
            "T_Phone": 1478523699
        }
        return render(request, 'verifiedbysuperuser.html', context=context)


以及如下的 HTML 模板,

<!DOCTYPE>
<html>
<body>
    Name : {{ T_Name }}<br>
    Age : {{ T_Age }}<br>
    Phone : {{ T_Phone }}<br>
</body>
</html>


当您访问您的视图时,您会收到这样的回复,



在您的情况下,您可以将尽可能多的属性传递给模板 dict (如我的示例所示)并且在模板/html 中 keys of context (即 T_Name,T_Name etct)变为变量。因此,您可以在双括号内的 HTML 中直接使用它们 ({{ variable_name }})

据我所知,这是template rendering/ html rendering 的一般程序
UPDATE-1

def VerifiedBySuperuser(request):
    if request.method == 'POST':
        obj = MyModel.objects.get(id=some_id)
        other_data = [1,2,3,4,] # some specific data
        context = {
            "post_data": request.data,
            "object_instance": obj,
            "some_other_data": other_data
        }
        return render(request, 'verifiedbysuperuser.html', context=context)

【讨论】:

  • 你说得对,但我想从管理员那里获取数据...我该怎么办?
  • data from admin 是什么意思?
  • 你直接把名字放在html中显示,但是我想从表单提交名字时得到名字。
  • 参见 UPDATE-1 部分
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-05-15
  • 2013-01-21
  • 2020-03-19
  • 2019-02-16
  • 2012-02-19
  • 1970-01-01
相关资源
最近更新 更多