2010-10-13 15 views
0

Quelqu'un a-t-il de l'expérience (Django 1.x pref 1.3) avec l'implémentation d'une sorte de singleton accessible depuis la page d'administration pour exposer certaines variables globales à éditer (nom du site, mots-clés, ...). Je ne trouve rien comme ça et ça semble incroyable!Site d'administration Django: implémente un singleton pour les variables globales?

grâce

(django-preferences est rompu avec 1.x)

+0

Il y a le mantra parmi la communauté Django que "l'administrateur n'est pas votre application". Vous voudrez peut-être prendre cela en considération. –

+1

Si j'ai bien compris votre question, vous cherchez probablement quelque chose comme ça: https://code.google.com/p/django-values/. –

Répondre

0

Comme le dit lazerscience, vous voulez probablement Django-dbsettings. J'ai un fork at Github qui fonctionne avec les dernières versions de Django.

0

après un certain jeu j'avais dbsettings travailler ... mais avec quelques petits pépins: - Aptana ne marche pas reconnaître les préférences à l'importation comme une référence valable - quand j'accéder à mes/paramètres/page avec les champs du modèle que je créé et puis enregistrez-le j'ai une erreur CSRF token missing or incorrect.

NOTE: Le référentiel googlecode officiel ne fonctionne pas (avec 1.3), la version de Daniel le fait à la place (je suppose qu'il a changé newforms -> formulaires etc). La façon dont je créé un nouveau modèle pour les paramètres veiw est:

from django.db import models 
import dbsettings 

class ImageLimits(dbsettings.Group): 
     maximum_width = dbsettings.PositiveIntegerValue() 
     maximum_height = dbsettings.PositiveIntegerValue() 
options = ImageLimits() 
0

Vous devriez éviter d'utiliser autant que possible de singleton.

Are Singletons really that bad?

What is so bad about singletons?

Pour le reste, le nom du site est modifiable dans l'admin Django (voir module django.contrib.sites). Parler de mots-clés - il est mauvais de les répéter, donc, mieux vous l'implémentez dans votre modèle d'article (page, article de presse, etc.). Pourriez-vous peut-être donner d'autres exemples de ce que vous en avez besoin pour?