2013-11-20 13 views
10

ich ein django Modell haben, das eine description Feld enthält:hinzufügen Rich-Text-Format-Funktionalität 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'} 

ich es bin Rendering wie unten

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

So mit dem obigen Filter linebreaks Ich bin in der Lage, die Daten als Zeilenformatierung zu erhalten, aber jetzt möchte ich eine URL geben (www.google.co.in) in das Beschreibungsfeld, und es sollte eine anklickbare an der Vorderseite im product detail page

sein

Wie füge ich die Rich-Text-Formatierung zum Django-Beschreibungsfeld am Frontend hinzu?

Antwort

14

Verwenden Sie django-tinymce.
Damit können Sie den TinyMCE-Rich-Text-Editor ganz einfach in Ihre Textbereiche integrieren.

List of django wysiwig apps

+0

ki haben versucht nach ur Vorschlag, aber ich bin nicht in der Lage, es zu arbeiten, können Sie es bitte hier anschauen http://stackoverflow.com/questions/20097929/make-django-wysiwyg-work-on-django- Seiten? –

0

Eine andere Möglichkeit könnte eine html im Beschreibungsfeld das Hinzufügen

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

und auf dem Front-End mit dem sicheren Tag zugänglich machen:

{{form.description | safe | linebreaks}} 

Stellen Sie sicher, dass Sie das sichere Etikett zuerst anbringen, ansonsten wird es nicht funktionieren