所以我正在为自己编码一个个人网站,我不想添加每个页面的视图和网址。我试图使一个非常动态的网站,管理员可以添加来自/admin的页面
但现在的问题是,当我试图通过jinja模板从我的数据库中放入jinja或html时。Jinja将它们看作只是字符串,并直接将它们原始输出。
我试图把html和jinja在jinja中,我想在管理页面上做一个页面编辑器,并添加大量的图片和东西,从那里没有编码的页面。也许还有另一种方法,然后告诉我怎么做就行了。
我的英语不好,但代码可以解释一切(我将用# python注释来翻译土耳其语的东西,让它更容易理解:
视图:
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)
urls:
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>
发布于 2018-10-22 01:38:29
将html传递给jinja模板变量-->
{{variable|safe}} #jinja's safe filter
或
创建安全区域/区块-->
{%autoescape off%} blabla {%endautoescape%}
详细信息:Django Doc Link
jinja变量中的jinja变量仍然不起作用。
https://stackoverflow.com/questions/52792648
复制相似问题