У меня проблемы с уценкой в моем приложении Django. Я пишу блог из учебника, и хочу уценку в своих сообщениях. Я установил Markdownx для Django, и он почти работает.
У меня проблемы с блоками кода. Уценка на странице администратора выглядит иначе, чем при отображении страницы html. Я хотел бы, чтобы мои блоки кода отображались так же, как и в stackoverflow и github. Вместо этого, когда я выполняю форматирование блока кода с тремя `` `, я получаю красный текст.
Ниже приведены мои файлы для приложения, о котором я спрашиваю:
project/urls.py
from django.contrib import admin
from django.urls import path, include
from django.conf.urls.static import static
from django.conf import settings
urlpatterns = [
path('admin/', admin.site.urls),
path('projects/', include('projects.urls')),
path('blog/', include('blog.urls')),
path('markdownx/', include('markdownx.urls')),
]
urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
project/settings.py
...
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'projects',
'blog',
'markdownx',
]
...
app/models.py
from django.db import models
from markdownx.models import MarkdownxField
from markdownx.utils import markdownify
class Projects(models.Model):
title = models.CharField(max_length=100)
short_description = models.TextField()
long_description = MarkdownxField()
project_link = models.URLField(max_length=250)
def formatted_markdown(self):
return markdownify(self.long_description)
app/admin.py
from django.contrib import admin
from projects.models import Projects
from markdownx.admin import MarkdownxModelAdmin
class ProjectsAdmin(admin.ModelAdmin):
pass
admin.site.register(Projects, MarkdownxModelAdmin)
app/views.py
from django.shortcuts import render
from projects.models import Projects
def project_index(request):
projects = Projects.objects.all()
context = {
'projects' : projects
}
return render(request, 'project_index.html', context)
def project_detail(request, pk):
project = Projects.objects.get(pk=pk)
context = {
'project' : project
}
return render(request, 'project_detail.html', context)
app/templates/project_detail.html
{% extends "base.html" %}
{% load static %}
{% block page_content %}
<h1>{{ project.title }}</h1>
<div class="row">
<div class="col-md-4">
<h5>About the project:</h5>
<p>{{ project.formatted_markdown|safe|linebreaks }}</p>
<br>
<h5>Project Link</h5>
<a href="{{ project.project_link }}" class="btn btn-primary" >Github</a>
</div>
</div>
{% endblock %}
Это первое изображение - вид страницы администратора.
Это второе изображение шаблона html просмотр страницы.