模型對象datetime屬性當地時間我想使它這樣一個模型對象的時間字段屬性顯示在模板當前用戶的時區的本地時間。我的設置中的默認時區是UTC。下面是一個例子模型:顯示了在Django
models.py
class Basic(models.Model):
name = models.CharField(max_length=128)
created_at = models.DateTimeField(auto_now_add=True
我想顯示的數據是與Django的tables2製成的表。不過,我已經嘗試過兩種方法都和他們沒有工作:
tables.py嘗試1:
class ShipperDataFileDocumentTable(tables.Table):
created_at = tables.TemplateColumn('''
{% load tz %}
{% localtime on %}
{{ record.created_at }}
{% endlocaltime %}
''')
class Meta:
model = Basic
fields = ('name', 'created_at')
tables.py嘗試2:
class ShipperDataFileDocumentTable(tables.Table):
created_at = tables.TemplateColumn('''
{% load tz %}
{{ record.created_at|localtime }}
''')
class Meta:
model = Basic
fields = ('name', 'created_at')
這兩種方法結束並沒有改變時間。例如,我在美國東部時間下午12點做了一個對象。通常情況下,模板會以UTC顯示爲4:00 PM。然而,即使有這些編輯,但它仍然顯示的時間爲4:00 PM。我不確定我做錯了什麼。
編輯:有沒有一種方法來檢測用戶的當前時區?我已經嘗試過的Django易時區,但由於某種原因不能正常工作。
你能否詳細說明js方法以及它如何與datetimefield attrs在模型對象中合併? –
不在模型對象中,您可以不改變模型,使用iso8601格式創建具有格式化日期時間的模板,然後使用'getElelementById'獲取相應的元素並將其轉換(它們)。如果你的頁面中有很多日期時間,這不是最好的解決方案,但我覺得它讓人擔心。 –
我更傾向於在js中檢測它的答案的第2步。 –