2015-03-04 13 views
6

Tôi tự hỏi "thực hành tốt nhất" là gì để lưu trữ các chuỗi có độ dài trung bình được sử dụng trong giao diện người dùng bằng Python/Django.Thực hành tốt nhất để lưu các chuỗi nhắn tin UI trong Python/Django là gì?

Ví dụ: Tôi có mẫu error.html có trường error_description. Đây là một vài câu giải thích cho người dùng những gì đã xảy ra, và những gì họ có thể làm để giải quyết nó. Nó có thể khác nhau đối với các trang lỗi khác nhau, nhưng vẫn khá ổn định trong mã (không có lý do gì đó mà một người không thể đẩy mã nguồn có thể sửa đổi mã nguồn), và có thể dễ dàng được giữ trong bộ nhớ, vì vậy tôi không nghĩ rằng đó là thứ cần lưu giữ trong cơ sở dữ liệu.

ý tưởng hiện tại của tôi là tôi chỉ cần tạo ra một số loại messages.py tập tin mà có một loạt các hằng chuỗi như thế này:

ERROR_UNAUTHENTICATED_AJAX_EXPLANATION = "Hello, so the only way that this error should occur is if someone attempts to directly call our AJAX endpoint without having the verification code. Please don't do this, it's against the principles of this art projects." 

Nói chung, là có một số cách kinh điển để lưu trữ chuỗi là "quá linh hoạt để được mã hóa cứng trong ", nhưng" quá nhỏ và tĩnh cho cơ sở dữ liệu "(và không quy mô với việc sử dụng của bạn)? Tôi đang nghĩ về loại thứ sẽ có trong tệp strings.xml trong một dự án Android.

Các khả năng khác Tôi đang tung hứng bao gồm tệp văn bản mà views.py đọc và lưu trữ dưới dạng hằng số, thực sự chỉ mã hóa chúng và gắn chúng vào tệp mẫu.

Có rất nhiều cách để làm điều này, và nó không phải là một điều rất phức tạp, tôi chỉ muốn biết cái nào là 'đúng' nhất.

Cảm ơn! Và cho tôi biết nếu bạn cần thêm thông tin!

Trả lời

6

Nếu bạn hoàn toàn chắc chắn, những chuỗi không bao giờ cần phải trở nên năng động chỉ cần tạo một module strings.py và thả các chuỗi đó như biến ("hằng số")

Tuy nhiên, khi thông điệp được sử dụng có thể nhìn thấy, bạn sẽ nhất có thể cần phải bản địa hóa chúng tại một thời điểm nào đó trong thời gian của ứng dụng của bạn. Do đó, xin hãy sử dụng tuyệt vời gettext hỗ trợ của Django:

https://docs.djangoproject.com/en/1.7/topics/i18n/

+0

Cảm ơn! Chính xác những gì tôi muốn biết! Có, chúng có thể cần phải được bản địa hóa tại một số điểm. –

Các vấn đề liên quan