【发布时间】:2010-11-13 22:44:07
【问题描述】:
对于我的第一个 Django 应用程序,我正在尝试编写一个简单的报价收集网站(想想 bash.org),它具有非常简单的功能,只是为了让我的脚湿透。我使用 sqlite 作为我的数据库,因为它是最容易设置的。
这是我现在唯一的模型:
class Quote(models.Model):
text = models.TextField();
upvotes = models.IntegerField(default=0)
downvotes = models.IntegerField(default=0)
active = models.BooleanField(default=False)
date_published = models.DateTimeField(auto_now_add=True)
还有一个非常简单的详细模板,只是为了转储信息:
Quote: {{ quote.text }}<br>
Upvotes: {{ quote.upvotes }}<br>
Downvotes: {{ quote.downvotes }}<br>
Published: {{ qoute.date_published|date:"F j, Y, g:i a" }}
当我转到详细信息页面时,给定对象的所有内容都会正确输出,但日期时间(空白)除外。但是,我检查了数据库并确认该对象的列中存储了一个日期时间,并且它显示了很好的管理区域。另外,当我从 manage.py 运行 shell 时,得到的结果如下:
>>> q = Quote.objects.all()[0]
>>> q.date_published
datetime.datetime(2009, 7, 24, 23, 1, 7, 858688)
另外,我使用通用视图 django.views.generic.list_detail.object_detail 来处理请求,但我也尝试使用下面的视图并得到相同的结果。
def detail(Request, id):
q = get_object_or_404(Quote, pk=id)
return render_to_response('quotable/quote_detail.html', {'quote': q})
我在尝试显示日期时做错了什么,还是这里发生了其他事情?
谢谢。
【问题讨论】:
-
可能只是一个转录错字,但您在有问题的行中将“quote”中的“o”和“u”调换了。
-
是的,始终使用剪贴板 - 输入内容不要超过一次(在限制范围内,cmets 等除外)。
标签: python django datetime sqlite