2013-11-20 15 views
10

Ho un modello Django che contiene un campo description:Aggiungere funzionalità rich text format Django TextField

class Product(models.Model): 
    name = models.CharField(max_length="125") 
    description = models.TextField() 

class ProductForm(ModelForm): 
    class Meta: 
     model = Product 
    def __init__(self, *args, **kwargs): 
     super(ProductForm, self).__init__(*args, **kwargs) 
     self.fields['description'].widget.attrs = { 'placeholder':'Description', 'rows':'10'} 

sto rendendolo, come di seguito

<html> 
    <body> 
    {{form.name}} 
    {{form.description | linebreaks}} 
    </body> 
</html> 

Quindi, con il filtro sopra linebreaks Sono in grado di ottenere i dati come linea di formattazione, ma ora voglio dare un URL (www.google.co.in) nel campo della descrizione, e dovrebbe essere cliccabile sul front-end nel product detail page

Come aggiungere la formattazione rich text al campo descrizione django sul front-end?

risposta

14

Considerare l'utilizzo di django-tinymce.
Con questo si integra facilmente l'editor di testo RTF TinyMCE con le aree di testo.

List of django wysiwig apps

+0

ki ho provato secondo il tuo suggerimento, ma non sono in grado di farlo funzionare, puoi vederlo qui http://stackoverflow.com/questions/20097929/make-django-wysiwyg-work-on-django- pagine? –

0

Un altro modo potrebbe essere l'aggiunta di un po 'di html nella descrizione del campo

<a href="yourlink.com">your link</a> 

e renderlo accessibile sul front-end con il tag di sicurezza:

{{form.description | safe | linebreaks}} 

Assicurati di inserire prima il tag sicuro, altrimenti non funzionerà

Problemi correlati