私はDjangoを初めて使用し、ロープの終わりにいて、本当に助けが必要です。
「クラスベースのビュー」を使用して、MySQL データベースから受信した datetimefield を、必要と思われる Time Zone Supported エントリに変更する方法がわかりません。データベースはそれを UTC で保存し、私のシステムは PST 上にあります。
このエラーが発生しています:
タイム ゾーンのサポートがアクティブなときに、DateTimeField がナイーブな日時 (2012-09-01 00:00:00) を受け取りました
私の MonthArchiveView、DayArchiveView、DateDetailView のみ。何らかの理由で、私の ArchiveIndexView、YearArchiveView クラス ベースのビューは問題なく動作します。
これが私のモデルです:
class blogpost(models.Model):
blog_title = models.CharField(max_length=200)
blog_slug = models.SlugField(unique_for_date='blog_pub_date', max_length=200)
blog_content = models.TextField()
blog_pub_date = models.DateTimeField(default=datetime.now())
blog_category = models.ForeignKey('blogcategory')
これが私の見解の1つです:
class ThoughtsDetailView(DateDetailView):
template_name='thoughts/thoughts_detail.html'
queryset = blogpost.objects.all()
date_field = 'blog_pub_date'
slug_field = 'blog_slug'
context_object_name = 'thoughts_detail'
month_format = '%m'
allow_future = 'true'
テンプレートの例を次に示します。
{% block content-inner-left %}
<h1>{{ thoughts_detail.blog_title }}</h1>
<div id="blogpost">
<p class="blogsmalldate">[ Posted on {{ thoughts_detail.blog_pub_date|date:"l, F dS, Y" }}, {{ thoughts_detail.blog_pub_time|date:"g:i a" }} ]</p>
<br />
<p>{{ thoughts_detail.blog_content|safe|linebreaks }}</p>
</div>
{% endblock content-inner-left %}
Day Detail View を修正して Class Based View のままにしておく方法を誰かが理解してくれるのでしょうか。私も PYTZ を使用しようとしましたが、クラス ベースのビューを変更して使用する方法を十分に理解していません。ありがとうございました....