2010-11-29 3 views
0

Je voudrais ajouter une édition de texte riche très basique dans mes charfields, seulement gras, italique et un sélecteur de taille de caractère personnalisé (small-normal-large - par rapport à un autre paramètre de champ de modèle). Au début, j'ai essayé d'utiliser django-tinymce, mais en utilisant un formset j'ai eu quelques problèmes que les fichiers médias pour tinymce seulement appliqué à la première forme de l'ensemble, et ma fonction js ajoutée ne fonctionne pas. Peut-être ai-je besoin d'un widget personnalisé pour ce sélecteur de taille de police small-normal-large (ou le faire comme champ de modèle).Richtext dans Django App

Est-il recommandé d'utiliser TinyMCE et d'essayer de le personnaliser dans ce cas (si oui, comment), ou y a-t-il un moyen plus simple d'utiliser le formulaire que j'ai déjà créé?

Voici ce que j'ai sous ma forme (en changeant dynamiquement la taille de textarea et d'appeler la fonction js dans le modèle pour limiter les caractères):

text=forms.CharField(max_length = 1000, widget=forms.widgets.Textarea()) 
def __init__(self, *args, **kwargs): 
    size = kwargs.pop('size') 
    maxChars = kwargs.pop('maxChars') 
    super(MyForm, self).__init__(*args, **kwargs) 
    self.fields['text'].widget.attrs['onkeypress'] = 'return textCounter(this, this.form.counter, %d);' % maxChars 
    self.fields['text'].widget.attrs['rows'] = size 
    self.fields['text'].widget.attrs['cols'] = '40' 

Répondre

0

Vous pouvez utiliser ckeditor, que vous pouvez activer sans django- app. Une autre alternative est l'éditeur de lueur (très) basique, voir la page d'accueil de la BBC.

Personnellement, je ne voudrais pas inclure ce javascript dans votre formulaire btw, mais l'inclure dans le modèle.

+0

Ok, est allé avec ckeditor, cela semble faire l'affaire, gentil. Supposons dans ce cas que je vais définir les zones de texte dans le modèle par opposition à travers le widget de forme, je vais prendre votre avis sur le déplacement du javascript tout dans le modèle. Im un novice, donc encore s'habituer à la façon de jouer avec les balises de modèle. Merci pour le conseil! – HdN8

+0

Pour plus d'informations sur les formulaires et leurs médias, cela peut vous être utile: http://docs.djangoproject.com/fr/dev/topics/forms/media/ –