2010-10-06 38 views
5

Tôi muốn tạo một trang duy nhất trong trang quản trị của django nơi tôi có thể thay đổi một số biến toàn cầu của trang web (tiêu đề của trang web, các mục trong menu điều hướng, v.v.). Tại thời điểm này tôi có chúng được mã hóa như bộ xử lý ngữ cảnh nhưng tôi muốn làm cho chúng có thể chỉnh sửa được. Một cái gì đó tương tự như những gì xảy ra trong WordPress.Trang web quản trị Django: cách tạo một trang duy nhất cho cài đặt chung?

Điều này có khả thi không?

  • Tôi có thể lưu trữ dữ liệu trong databse, nhưng tôi có thể có một liên kết trong site admin mà đi thẳng vào hồ sơ tài liệu đầu tiên và doesnt cho phép tạo ra nhiều bản ghi (họ wouldnt có ý nghĩa)
  • Thay vì tạo một mô hình trong cơ sở dữ liệu, có thể thay đổi một số context_processor từ trang quản trị (tôi nghĩ điều này sẽ là tốt nhất)

Trả lời

1

Điều này giống như những gì mà khung trang web có ý định trợ giúp.

http://docs.djangoproject.com/en/dev/ref/contrib/sites/

"Đó là một cái móc để gắn các đối tượng và chức năng để trang web đặc biệt, và đó là một nơi tổ chức cho các tên miền và‘tiết’tên của các trang web Django-powered của bạn."

Tài liệu làm cho âm thanh như nó chỉ tốt cho nhiều trang web, nhưng đó cũng là một nơi tuyệt vời để đưa nội dung vào mô hình một trang web trên mỗi mô hình django.

2

Có một ứng dụng được gọi là django-values cho phép bạn lưu trữ các cài đặt cụ thể trong cơ sở dữ liệu.

3

django-preferences thực hiện chính xác những gì bạn đang tìm kiếm. Việc thực hiện là một chút hacky (đặc biệt là các thiết lập của __module__ trên lớp mô hình để lừa Django vào suy nghĩ nó đã được tải từ một ứng dụng khác nhau), nhưng nó hoạt động.

+0

xin cảm ơn vì đã trả lời! trông tuyệt vời nhưng tôi không thể làm cho nó hoạt động ... Tôi đặt gói trong thư mục site-packages của mình và sau đó thêm 'preferences' vào INSTALLED_APP và (r '^ admin /', include ('preferences.urls ')), với urls.py. Tôi đã cố tạo một mô-đun đơn giản như mô-đun được đề xuất nhưng tôi gặp phải lỗi khi tôi cố gắng nhập lớp 'từ preferences.model import Preferences' vì nó nói nó không thể tìm thấy mô-đun Preferences. Bất kỳ ý tưởng? Im vẫn không phải là rất tốt với Django ... THANKS –

+0

Tôi nghĩ rằng có một lỗi đánh máy trong README. Nó phải là "từ sở thích nhập khẩu preferences.models" - lưu ý các "mô hình" số nhiều. –

+0

Tôi nghĩ rằng nhưng không ... nó vẫn ném lỗi –

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