0

我是一个django的新手,我已经在几个项目上工作过,并且在所有这些项目中我都使用了django管理界面来管理内容,显然这是我模型中的内容。我主要关心的是有一种方法可以编辑像about部分或我的主页这样的区域的内容,而不必更改我的代码上的实际html如何编辑我的django网页上的内容?

+0

你可以选择类似Django CMS的东西。 – hansTheFranz

+0

可以集成django CMS来使用我已经建好的模板吗?我已经有了内容硬编码手动的模板。 – gathagu

回答

1

你可以创建一个新的模型,看起来是这样的:

class HTMLModel(models.Model): 
    title = models.CharField() 
    content = models.TextField() 

然后,你可以加载模型在你的模板,并打印出来:

<h1>{{ model.title }}</h1> 
<p>{{ model.content }}</p> 

现在你能从管理界面更改内容,它会在您的网页上显示更改。

编辑:在加载模型,我会假设你刚刚创建一个实例,所以你可以加载它,像这样:

return render(request, 'about_me.html', { 
    model: HTMLModel.objects.get(pk=1) 
}) 

如果你有多个页面,只需添加一个新的领域,以你的模型,指出在哪个页面应该显示:

class HTMLModel(models.Model): 
    page_name = models.CharField() 
    title = models.CharField() 
    content = models.TextField() 

然后在你的意见,你可以返回模型,其中PAGE_NAME =请求的名称:

model = HTMLModels.objects.get(page_name=request.path) 
+0

如果您的django管理员拥有大量网页和字段,该怎么办? – gathagu

+0

更新了我的答案 – Noshii