2016-07-26 86 views
1

使用Django的模板標籤串,DateTimeField字段看起來就像這樣:Django的:DateTimeField字段使用本地化

July 25, 2016, 7:11 a.m. 

問題是,我的網站有一個無限滾動和新的數據來通過AJAX,所以我可以爲此使用Django的模板標籤。以此來獲取日期:

str(self.date_created) 

我得到的是這樣的:

2016-07-23 14:10:01.531736+00:00 

看起來並不好......有什麼辦法轉換的DateTimeField字段值使用Django的默認格式?謝謝。

回答

2

您可以在後臺格式化字段self.date_created.strftime("%B %d, %Y, %I:%M %p")或者您也可以在前端

var dateCreated = new Date(item.date_created); 
dateCreated.toLocaleString() 
+0

謝謝!我用了兩個答案,但你的是我正在尋找的,但另一個也有幫助。 – Antoni4040

2

其實你仍然可以使用Django內置的date過濾器來實現ajax響應。在視圖內部利用render_to_string然後發送爲json(假設您的js預計爲json)。

import json 
from django.template.loader import render_to_string 

class YourAjaxResponseView(View): 
    template_name = 'your_ajax_response_template.html' 

    # I ASSUMED IT'S A GET REQUEST 
    def get(self, request, *args, **kwargs): 
     data = dict() 
     data["response"] = render_to_string(
      self.template_name, 
      { 
      "your_date": your_date 
      }, 
      context_instance=RequestContext(request) 
     ) 
     return HttpResponse(
     json.dumps(data), 
     content_type="application/json", 
     status=200 
    ) 

而且你的模板可以簡單地將這個

# your_ajax_response_template.html 
{{ your_date|date:"YOUR_FORMAT" }} 
+0

謝謝格式化!但是,您應該編輯答案,它是|日期不是|數據... – Antoni4040