Как реализовать уценку в приложении Django 1.6?

У меня есть текстовое поле в models.py где я могу вводить текстовый контент для блога с помощью администратора.

Я хочу, чтобы иметь возможность писать контент для этого текстового поля в формате уценки, но я использую Django 1.6, а django.contrib.markup больше не поддерживается.

Я не могу найти нигде, где есть учебник, и запускает добавление уценки в текстовое поле в Django 1.6. Может кто-то посмотреть на мои .py файлы и помочь мне применить уценку к моему приложению.

models.py

 from django.db import models # Create your models here. class Post(models.Model): title = models.CharField(max_length=200) pub_date = models.DateTimeField() text = models.TextField() tags = models.CharField(max_length=80, blank=True) published = models.BooleanField(default=True) 

admin.py

 from django.contrib import admin from blogengine.models import Post class PostAdmin(admin.ModelAdmin): # fields display on change list list_display = ['title', 'text'] # fields to filter the change list with save_on_top = True # fields to search in change list search_fields = ['title', 'text'] # enable the date drill down on change list date_hierarchy = 'pub_date' admin.site.register(Post, PostAdmin) 

index.html

 <html> <head> <title>My Django Blog</title> </head> <body> {% for post in post %} <h1>{{ post.title }}</h1> <h3>{{ post.pub_date }}</h3> {{ post.text }} {{ post.tags }} {% endfor %} </body> </html> 

Спасибо за ваши ответы и предложения, но я решил использовать markdown-deux.

Вот как я это сделал:

pip install django-markdown-deux

Затем я сделал pip freeze > requirements.txt чтобы убедиться, что файл требований обновлен.

Затем я добавил «markdown_deux» в список INSTALLED_APPS:

 INSTALLED_APPS = ( ... 'markdown_deux', ... ) 

Затем я изменил свой шаблон index.html на:

 {% load markdown_deux_tags %} <html> <head> <title>My Django Blog</title> </head> <body> {% for post in post %} <h1>{{ post.title }}</h1> <h3>{{ post.pub_date }}</h3> {{ post.text|markdown }} {{ post.tags }} {% endfor %} </body> </html> 

Ах, я встречался с той же проблемой несколько месяцев назад, и я нашел, что самым простым и надежным решением является использование API Github Markdown .

Вот код, который я использую для своего блога, который, я считаю, поможет вам более или менее. btw Я использую Python 3, поэтому часть кодирования может отличаться от Python 2.

 # generate rendered html file with same name as md headers = {'Content-Type': 'text/plain'} if type(self.body) == bytes: # sometimes body is str sometimes bytes... data = self.body elif type(self.body) == str: data = self.body.encode('utf-8') else: print("somthing is wrong") r = requests.post('https://api.github.com/markdown/raw', headers=headers, data=data) # avoid recursive invoke self.html_file.save(self.title+'.html', ContentFile(r.text.encode('utf-8')), save=False) self.html_file.close() 

Мой код размещен на github, вы можете найти его здесь
А мой блог – http://laike9m.com .

Вы можете использовать замену старой разметки, реализованной здесь – https://github.com/jamesturk/django-markupfield