Python Django将数据传递到html
好吧,我被卡住了,我不知道我做错了什么。我有一个数据库,我需要从中获取数据并用HTML呈现。我看了一些教程,看起来并不难,但对我来说不起作用。 我的看法是:Python Django将数据传递到html,python,django,django-templates,Python,Django,Django Templates,好吧,我被卡住了,我不知道我做错了什么。我有一个数据库,我需要从中获取数据并用HTML呈现。我看了一些教程,看起来并不难,但对我来说不起作用。 我的看法是: def get_all_subjects(request): all_subjects = Predmeti.objects.all() return render(request, 'home.html', {"Predmeti": all_subjects}) 这是home.html: {% block conten
def get_all_subjects(request):
all_subjects = Predmeti.objects.all()
return render(request, 'home.html', {"Predmeti": all_subjects})
这是home.html:
{% block content %}
{% if user.is_authenticated %}
Hi {{ user.email }}!
<p><a href="{% url 'logout' %}">logout</a></p>
<table>
{% for predmet in Predmeti %}
<tr>
<td>{{ predmet.ime }}</td>
<td>{{ predmet.kod }}</td>
<td>{{ predmet.bodovi }}</td>
<td>{{ predmet.izborni }} </td>
<td>
<form method="POST" action="{% url 'upisni list' id=predmet.id %}">
{% csrf_token %}
<button type="submit"> Dodaj</button>
</form>
</td>
</tr>
{% endfor %}
</table>
{% else %}
<p>You are not logged in</p>
<a href="{% url 'login' %}">login</a> |
<a href="{% url 'signup' %}">signup</a>
{% endif %}
{% endblock %}
{%block content%}
{%if user.u经过身份验证%}
你好{{user.email}!
{Predmeti%中的Predmeti的%s}
{{predmet.ime}
{{predmet.kod}
{{predmet.bodovi}}
{{predmet.izborni}}
{%csrf_令牌%}
多达伊
{%endfor%}
{%else%}
您没有登录
|
{%endif%}
{%endblock%}
它只是向用户名打招呼。欢迎提供任何帮助,因为您需要执行以下操作:
return render(request, 'home.html', locals())
然后在html中:
{% for predmet in all_subjects %}
{{ predmet.ime }}
{% endfor %}
发现了问题,因为在settings.py中我使用home.html作为django默认模板视图
path('', TemplateView.as_view(template_name='home.html'), name='home'),
他这样做:
path('upisnilist/', views.get_all_subjects, name='predmeti' )
工作正常仍然不显示数据@ŠimeGalac,然后检查数据库中是否有与此模型相关的数据,或者您是否已通过身份验证。有数据,我已通过身份验证,如果您可以在循环中添加一些html文本,我会讨厌它@ŠimeGalac debug,并检查您是否看到它。如果是,则在您的视图中打印
all_subjects
。显然,数据不在all_subjects列表中。您的数据是否保存到默认数据库?您的数据是否确实包含任何记录?是否显示注销按钮?我可以认为您传递的变量名称Predmeti
不够好。可能与您的模型名称或类似内容存在冲突。您是否为传递到模板的变量尝试了其他名称?