提问人:Yukki 提问时间:11/16/2023 更新时间:11/16/2023 访问量:37
Django 它不在 HTML 上打印
Django its not printing on HTML
问:
我试图理解为什么 Django 它没有在我的 HTML 页面上打印,用户 db 打印得很好,但我的票证 db 没有被打印,它实际上创建了分配信息的空间,如图像所示,但它没有填充信息在上面。
views.py
#The actual page
def dashboard(request):
ticket = Userdb.objects.filter(userid = request.user.id)
context = {'ticket': ticket}
return render(request,'dashboard/home.html', context)
#Data in the ticket
def ticketr(request):
data = {}
if request.method == 'POST':
if request.POST.get('nomctt') and request.POST.get('tiposerv') and request.POST.get('areaserv') and request.POST.get('tickettext'):
table = Userdb()
table.nomctt = request.POST.get('nomctt')
table.numctt = request.POST.get('numctt')
table.tiposerv = request.POST.get('tiposerv')
table.areaserv = request.POST.get('areaserv')
table.tickettext = request.POST.get('tickettext')
table.userid = request.user
table.save()
data['msg'] = 'Ticket registrado!'
data['class'] = 'alert-success'
return render(request,'dashboard/home.html', data)
else:
data['msg'] = 'Preencha todos os campos!'
data['class'] = 'alert-danger'
return render(request,'dashboard/ticket.html',data)
首页.html
{% block content %}
{% if request.user.is_authenticated %}
<nav class="navbar">
<div class="navbar__container">
<a href="/" id="navbar__logo"><img src="{% static 'images/logo.png' %}" style="width:180px;height:100px;"></a>
<div class="navbar__toggle" id="mobile-menu">
<span class="bar"></span>
<span class="bar"></span>
<span class="bar"></span>
</div>
<ul class="navbar__menu">
<ul class="navbar__menu">
<li class="navbar__item">
<a href="/" class="navbar__links">
{{ user.username }}
</a>
</li>
<li class="navbar__btn">
<a href="/loginv" class="button">
Logar
</a>
</li>
</ul>
</div>
</nav>
<a href="/dashboard/ticket/">Abra um Ticket</a>
</div>
<br>
<div class="container bootdey">
<div class="col-md-12">
<div class="col-md-4">
<div class="portlet light profile-sidebar-portlet bordered">
<div class="profile-usertitle">
<div class="profile-usertitle-name"> {{ user.username }} </div>
<div class="profile-usertitle-job"> Developer </div>
</div>
<div class="profile-usermenu">
<ul class="nav">
<li class="active">
<a href="#">
<i class="icon-home"></i> Ticket List </a>
</li>
<li>
<a href="#">
<i class="icon-info"></i> Configurations </a>
</li>
</ul>
</div>
</div>
</div>
<div class="col-md-8">
<div class="portlet light bordered">
<div class="portlet-title tabbable-line">
<div class="caption caption-md">
<i class="icon-globe theme-font hide"></i>
<span class="caption-subject font-blue-madison bold uppercase">Ticket List</span>
</div>
</div>
<div class="portlet-body">
<table class="table">
<thead>
<tr>
<th>#</th>
<th>Column heading</th>
<th>Column heading</th>
<th>Column heading</th>
</tr>
</thead>
<tbody>
{% for Userdb in ticket %}
<tr class="active">
<th scope="row">{{ticket.ticketid}}</th>
<td>{{ticket.nomctt}}</td>
<td>{{ticket.numctt}}</td>
<td>{{ticket.tickettext}}</td>
</tr>
{% endfor %}
{% else %}
Você não tem acesso a essa área!
{% endif %}
{% endblock %}
实际页面
如果需要更多信息,请发表评论,我将提供
答:
2赞
John Gordon
11/16/2023
#1
在视图函数中,我会将变量重命名为(复数),因此它实际上是一个票证列表。拥有与预期内容实际匹配的变量名称确实很有帮助:ticket
tickets
def dashboard(request):
tickets = Userdb.objects.filter(userid = request.user.id)
context = {'tickets': tickets}
return render(request,'dashboard/home.html', context)
但真正的问题是 html 模板假设是每个单独的票证,而不是列表本身:ticket
{% for Userdb in ticket %}
<tr class="active">
<th scope="row">{{ticket.ticketid}}</th>
<td>{{ticket.nomctt}}</td>
<td>{{ticket.numctt}}</td>
<td>{{ticket.tickettext}}</td>
</tr>
{% endfor %}
假设您在上面进行了建议的更改,您可以只将循环标签更改为:for
{% for ticket in tickets %}
或者,如果您不想进行该更改,则可以更改为所有其他类似的变量。{{ticket.ticketid}}
{{Userdb.ticketid}}
评论
0赞
Yukki
11/16/2023
刚刚这样做了,它工作得很好,我不知道我可以这样做,我想它会在旅途中创建变量?无论如何,感谢您的帮助,很抱歉占用您的时间{% for ticket in tickets %}
ticket
0赞
John Gordon
11/16/2023
@Yukki 是的,循环会自动创建变量。for item in mylist
item
评论
{% for Userdb in ticket %}
变量在哪里定义?ticket
def dashboard(request): ticket = Userdb.objects.filter(userid = request.user.id) context = {'ticket': ticket} return render(request,'dashboard/home.html', context)
{{ticket}}
ticket
.filter()
ticket
.ticketid
{{ ticket.ticketid }}
{{ Userdb.ticketid }}