Gần đây tôi đã thêm một mô hình mới vào trang web của mình và tôi đang sử dụng tệp admin.py để chỉ định chính xác cách tôi muốn nó xuất hiện trong trang quản trị. Nó hoạt động tốt, nhưng tôi không thể tìm ra cách để có được một trong các trường ngày tháng của tôi để bao gồm giây trong định dạng hiển thị của nó. Tôi chỉ thấy các giá trị như "Ngày 27 tháng 8 năm 2011, 12:12 chiều" khi những gì tôi muốn được xem là "ngày 27 tháng 8 năm 2011, 12: 12 * : 37 * chiều"Trong trang quản trị Django, làm cách nào để thay đổi định dạng hiển thị của các trường thời gian?
Trong trang quản trị Django, làm cách nào để thay đổi định dạng hiển thị của các trường thời gian?
Trả lời
Hãy thử điều này trong ModelAdmin:
def time_seconds(self, obj):
return obj.timefield.strftime("%d %b %Y %H:%M:%S")
time_seconds.admin_order_field = 'timefield'
time_seconds.short_description = 'Precise Time'
list_display = ('id', 'time_seconds',)
Thay thế "timefield" với lĩnh vực thích hợp trong mô hình của bạn, tất nhiên, và thêm bất kỳ lĩnh vực cần thiết khác trong "list_display".
đào xung quanh Tôi đã kết thúc ở đây nhưng đã áp dụng một cách tiếp cận khác với ứng dụng của mình.
Thay đổi định dạng mặc định của quản trị viên django có thể được thực hiện thay đổi định dạng ngôn ngữ django cho mọi loại bạn muốn.
Đặt thông tin sau trên tệp admin.py của bạn (hoặc settings.py) để thay đổi định dạng mặc định datetime tại quản trị django của bạn.
from django.conf.locale.es import formats as es_formats
es_formats.DATETIME_FORMAT = "d M Y H:i:s"
Nó sẽ thay đổi định dạng datetime của ModelAdmin trên tệp đó (hoặc toàn bộ trang web nếu trong cài đặt).
Nó không phá vỡ bộ lọc giờ làm việc của quản trị viên và các tính năng đặt hàng như @Alan Illing đã chỉ ra trong nhận xét.
hy vọng sự giúp đỡ này trong tương lai
thêm thông tin:
Bạn có thể thay đổi nó cho mỗi miền địa phương có sẵn trong django, đó là rất nhiều.
Bạn có thể thay đổi các định dạng sau sử dụng phương pháp này
from django.conf.locale.es import formats as es_formats
es_formats.DATETIME_FORMAT
es_formats.NUMBER_GROUPING
es_formats.DATETIME_INPUT_FORMATS
es_formats.SHORT_DATETIME_FORMAT
es_formats.DATE_FORMAT
es_formats.SHORT_DATE_FORMAT
es_formats.DATE_INPUT_FORMATS
es_formats.THOUSAND_SEPARATOR
es_formats.DECIMAL_SEPARATOR
es_formats.TIME_FORMAT
es_formats.FIRST_DAY_OF_WEEK
es_formats.YEAR_MONTH_FORMAT
es_formats.MONTH_DAY_FORMAT
Hãy nhớ thay đổi địa phương bạn thực sự sử dụng như 'từ django.conf.locale.en định dạng nhập khẩu như en_formats' và sau đó' en_formats.DATETIME_FORMAT = "dmY H: i: s" ' –
Chỉ cần bắt đầu antkowcz trả lời: Để sử dụng tiếng Anh:' từ django.conf.locale.en định dạng nhập như en_formats và sau đó en_formats.DATETIME_FORMAT = "dmY H: i: s" ' Để sử dụng tiếng Tây Ban Nha: ' từ django.conf.locale.es định dạng nhập dưới dạng es_formats es_formats.DATETIME_FORMAT = "d MYH: i: s" ' và cứ như vậy ...... –
Nếu bạn đã thử trả lời gabriel nhưng nó không hoạt động, cố gắng thiết lập USE_L10N = False
trong settings.py
, nó làm việc cho tôi.
Lưu ý rằng nếu USE_L10N được thiết lập thành True thì định dạng miền địa phương quyết có độ ưu tiên cao hơn và sẽ được áp dụng thay vì
Xem: https://docs.djangoproject.com/en/2.0/ref/settings/#std:setting-DATETIME_FORMAT
- 1. Định dạng ASP.NET MVC của Thời gian hiển thị ẩn
- 2. Thay đổi tên trường trong quản trị django
- 3. Làm cách nào để định dạng một khoảng thời gian để hiển thị tổng số giờ?
- 4. Làm thế nào để thay đổi định dạng trang trong thời gian chạy? (Jasperreport)
- 5. Hiển thị model's__unicode__ trong django quản trị
- 6. Làm cách nào để định dạng giá trị được hiển thị trong trường chỉnh sửa Rails?
- 7. Quản trị viên Django - thay đổi văn bản hiển thị ForeignKey
- 8. Android: Thay đổi định dạng thời gian theo định dạng thời gian hiện tại của Thiết bị
- 9. Tùy chỉnh trang chỉ mục quản trị Django để hiển thị các đối tượng mô hình
- 10. Làm cách nào để hiển thị mô hình nội tuyến quản trị Django trong một fieldset?
- 11. Các trường chỉnh sửa quản trị Django theo kiểu bảng thời trang
- 12. Trang hiển thị thời gian trong MVC
- 13. Làm thế nào để hiển thị thời gian ở định dạng 12 giờ trong Objective-C?
- 14. Tùy chỉnh quản trị Django TabularInline trường mặc định
- 15. Làm cách nào để thay đổi định dạng thời gian cột trong fullcalendar?
- 16. Làm thế nào để định dạng một dấu thời gian java.sql để hiển thị?
- 17. Làm thế nào để hiển thị giá trị raw_id của một mối quan hệ ManyToMany trong quản trị Django?
- 18. Django - Thay đổi định dạng thời gian cho một miền địa phương
- 19. Ứng dụng sẽ không hiển thị trong quản trị Django
- 20. Làm cách nào để hiển thị giá trị của #define tại thời gian biên dịch?
- 21. Quản trị viên Django - thay đổi danh sách quyền
- 22. Danh sách quản trị Django Hiển thị + ForeignKey = Danh sách thay đổi trống
- 23. Hiển thị hàng con trong giao diện quản trị Django
- 24. Thay đổi màu hàng trong Danh sách quản trị Django
- 25. Trang quản trị Django không hiển thị các bảng cơ sở dữ liệu (djangobook chương 06)
- 26. định dạng thời gian fullcalendar
- 27. Cách hiển thị tổng số bản ghi đối với các mô hình trong quản trị django
- 28. Chức năng tìm kiếm/lọc của quản trị Django dưới dạng bảng trang
- 29. Cách đặt giá trị mặc định trong bảng định dạng TabularInline trong quản trị Django
- 30. Giới hạn truy vấn của các mục được hiển thị cho quản trị viên django Inline
Làm việc như thế này ngắt bằng cách sử dụng quản trị tự động bộ lọc. – donatello
Tôi đoán bạn có nghĩa là [strftime] (http://docs.python.org/3.3/library/time.html#time.strftime) – Martin
Có cách nào để định dạng dấu thời gian nhưng vẫn giữ lại chức năng phân loại trong quản trị viên không? –