【发布时间】:2019-10-16 16:29:25
【问题描述】:
我有一个带有递增主键的模型 D100Generator。我正在尝试模仿 Django 教程 pt。 3,用一个表名列表替换应该在 index.html 页面上呈现的问题。当我运行代码时,我得到一个<ul> 项目符号,但没有文本。我的latest_table_list 没有被填充吗?还是我叫错了?
我对 Python、Web 开发和 Stack Overflow 非常陌生,如果格式和解释不佳,请见谅。
我怀疑我没有正确调用table_name 字段,但我尝试过的任何方法都无法正常工作。
我尝试将列表的行项目设置为:
<li><a href="/generators/{{ d100Generator.d_100_id }}/">{{ d100Generator.table_name }}</a></li>
作为:
<li><a href="/generators/{{ d100Generator.id }}/">{{ d100Generator.table_name }}</a></li>
这两者都不会帮助按需要显示。
D100 发电机型号class D100Generator(models.Model):
d_100_id = models.AutoField(primary_key=True)
field_of_interest = models.ForeignKey(FieldOfInterest, on_delete=models.CASCADE)
subreddit_post_id = models.ForeignKey(Subreddit, on_delete=models.CASCADE, blank=True, null=True)
module_id = models.ForeignKey(Module, on_delete=models.CASCADE, blank=True, null=True)
generic_website_id = models.ForeignKey(GenericWebsite, on_delete=models.CASCADE, blank=True, null=True)
table_name = models.CharField('table name', max_length=100)
system = models.CharField(max_length=150)
genre = models.CharField(max_length=250)
chart_type = models.CharField('Die used', max_length=15)
chart_instructions = models.TextField('Chart instructions & explanation')
roll_1 = models.TextField('1', blank=True, null=True)
roll_2 = models.TextField('2', blank=True, null=True)
roll_3 = models.TextField('3', blank=True, null=True)
...
roll_110 = models.TextField('110', blank=True, null=True)
def __str__(self):
return self.table_name
#Views.py 索引条目
from django.shortcuts import render
from .models import D100Generator
def index(request):
latest_table_list = D100Generator.objects.order_by('-d_100_id')[:5]
context = {
'latest_table_list': latest_table_list
}
return render(request, 'generators/index.html', context)
##index.html 页面本身的代码
<h1>Welcome to Capstone Generators' homepage!</h1>
<br>
<h2>Recent topics added include:</h2>
<br>
<h2>Recent tables added include:</h2>
{% if latest_table_list %}
<ul>
{% for d_100_id in latest_table_list %}
<li>{{ D100Generator.table_name }}</li>
{% endfor %}
</ul>
{% else %}
<p>No tables are available.</p>
{% endif %}
我有一张表是通过管理页面手动添加的,所以项目符号列表应该包括表名“你的精灵学了 25 年...”
【问题讨论】:
标签: html django python-3.x