[英]ID won't show up on template
我正在尝试保存一个具有自动递增ID的模型对象,然后获取该ID并在模板中使用它。 该ID不会显示。
这是处理提交的代码:
def process_submission(request):
if request.method == 'POST':
submission=request.POST
temp = Listing(title=submission['title'],pub_date=datetime.datetime.now(),email=submission['email'],price=submission['price'],body=submission['body'],subject=submission['subject'],course_number=submission['course_number'])
temp.save()
return render(request, 'listing/success.html', {'temp', temp})
然后是success.html的相关部分
<p>Submission Successful!</p>
<p>You can find your listing at: <a href="blah/{{temp.id}}">URL/{{temp.id}}</a></p>
该ID不会显示。 我不太确定为什么这行不通。 有什么想法吗?
谢谢。
编辑:
这是有问题的模型:
class Listing(models.Model):
title = models.CharField(max_length=100)
pub_date = models.DateTimeField('Date Published')
email = models.CharField(max_length=200)
price = models.CharField(max_length=20)
body = models.CharField(max_length=1500)
subject = models.CharField(max_length=4)
course_number = models.CharField(max_length=4)
def __str__(self):
return self.title
实际上,您上面提到的代码应该可以工作。 检查此文档: https ://docs.djangoproject.com/en/dev/ref/models/instances/?from=olddocs#auto-incrementing-primary-keys,请确保您使用的是AutoField作为ID。
您是否在模型的其他字段之一上设置了primary_key=True
? 如果是这样,Django将不会自动提供id
字段。 还是您声明了自己的名为id
的字段? 如果您的模型中确实有另一个有效的主键,则可以在模板中使用它,而不是Django的自动递增ID。
将记录保存在视图中后,尝试打印出id
的值。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.