Python Django模板和视图

Python Django模板和视图,python,django,templates,ckeditor,models,Python,Django,Templates,Ckeditor,Models,我这里有点麻烦。我正在做一个从html到Django驱动的网站的简单转换,它没有特殊的内容,有3个页面(cv/about/projects),有点像一个web组合 我想使用CKEditor通过管理界面编辑页面。 我还希望能够使用Django模板 当从CK编辑界面创建页面并将内容添加到“内容”字段时,我无法作为模板访问页面 我认为代码对我的问题很重要: models.py: from django.db import models from ckeditor.fields import HTMLF

我这里有点麻烦。我正在做一个从html到Django驱动的网站的简单转换,它没有特殊的内容,有3个页面(cv/about/projects),有点像一个web组合

我想使用CKEditor通过管理界面编辑页面。 我还希望能够使用Django模板

当从CK编辑界面创建页面并将内容添加到“内容”字段时,我无法作为模板访问页面

我认为代码对我的问题很重要:

models.py:

from django.db import models
from ckeditor.fields import HTMLField

class Page(models.Model):
  title =  models.CharField(max_length=30)
  content = HTMLField(blank=True, verbose_name='HTML version')
  def __unicode__(self):
      return self.title
views.py:

def cv(request):
  cv = Page.objects.filter(id=2)
  content = ([p.content for p in cv])
      return HttpResponse(content)
from django.template import Context, loader

def about(request):
  about = Page.objects.filter(id=1)
  t = loader.get_template('about.html')
  ct = Context({
  'about': about
  })
  return HttpResponse(t.render(ct))
URL.py:

url(r'^cv$', cv),
我阅读了有关使用模板使页面动态化的Context&loader的内容,因此我编写了以下视图:

views.py:

def cv(request):
  cv = Page.objects.filter(id=2)
  content = ([p.content for p in cv])
      return HttpResponse(content)
from django.template import Context, loader

def about(request):
  about = Page.objects.filter(id=1)
  t = loader.get_template('about.html')
  ct = Context({
  'about': about
  })
  return HttpResponse(t.render(ct))

但是,我需要通过各自的.html文件更新页面,而CKEdit接口无法到达我的页面。有人知道我需要重构、添加什么才能使用Django模板编辑我的页面吗?(使用{%block content%}{%endblock%})同时仍然能够使用CKEditor编辑这些页面的内容。

如果您正在扩展一些基本模板,比如“base.html”,那么我可以想象:

base.html

<html>
    <body>
    {% block header %}
        My header
    {% endblock header %}
    {% block content %}
        My content
    {% endblock content %}
    </body>
</html>

您将
about
上下文变量传递给about.html,因此需要调用该变量。基本上,模板不能完全为空。即使about.html只包含
{{{about.content}}
。我认为您没有提供足够的信息来确定关于CKE的部分,但首先要确保您可以向模板呈现一些东西,任何东西,然后处理CKE

我不明白您的确切意思是什么?您有一些页面数据,您可以在视图中获取这些数据并将其发送到模板。然后模板根据模板规则以某种方式显示这些数据。你还需要什么?另外,请展示你的模板。模板是空的,它们在那里,有一个cv.html,一个about.html和一个projects.html,但是模板是空的。我猜我的URL和视图写得不对,当我得到localhost/cv时,我得到的是通过管理界面生成的页面,而不是模板。我无法将模板链接到我正在管理界面中创建的页面,这正是我想要的。但我会继续努力的。