Так что я пишу персональный сайт для себя и не хочу добавлять каждую страницу из просмотров и URL.Я пытаюсь сделать очень динамичный веб-сайт, на котором администраторы могут добавлять страницы из / admin
, но проблема сейчас заключается в том, когда я пытаюсь добавить jinja или html из моей базы данных с помощью шаблонов jinja.Джинджа видит их просто как str и напрямую выводит их в необработанном виде.
Я пытаюсь поместить html и jinja в jinja bcs. Я хочу создать редактор страниц на странице администратора и добавлять страницы с множеством картинок и тому подобным.без кодирования.Может быть, есть другой способ сделать это, тогда просто скажите мне, как это сделать.
Мой английский плохой, но коды все объяснят (я собираюсь перевести турецкие вещи с помощью # python comment, чтобы сделать его более понятным:
просмотров:
from django.shortcuts import render
from umut.models import *
# Create your views here.
def sayfa#page(request, sayfalinki#pagelink stands for pagename):
içerik#content = Sayfalar.objects.get(baslik=sayfalinki)
return render(request, "umut/umut-şablon.html" , {"içerik":içerik})
модель:
from django.db import models
# Create your models here.
class Sayfalar(models.Model):
baslik#title = models.CharField(max_length=15)
title = models.CharField(max_length=30)
icerik#content = models.TextField(max_length=5000)
URL-адреса:
from django.urls import path, include
from . import views
urlpatterns = [
#path('', views.anasayfa, name= 'anasayfa#mainpage'),
path('<str:sayfalinki>', views.sayfa)
]
шаблон:
<!DOCTYPE html>
<html>
<head>
{% load static %}
<link rel="stylesheet" type="text/css" href="{% static "umut/umut-style.css" %}">
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{{içerik.title}}</title>
</head>
<body>
<header>
<h1 class="anabaslik">Umut Özsoy</h1>
</header>
<nav>
{% for i in sayfalar %}
<a href="{{i.link}}">{{i.isim}}</a>
{% endfor %}
</nav>
<section>
{{içerik.icerik}}
</section>
</body>
</html>