Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在zinnia中为view函数-basicpython创建一个entry对象_Python_Django_Zinnia_Zinnia Entry - Fatal编程技术网

在zinnia中为view函数-basicpython创建一个entry对象

在zinnia中为view函数-basicpython创建一个entry对象,python,django,zinnia,zinnia-entry,Python,Django,Zinnia,Zinnia Entry,有人能帮我解释下一页吗 如何在Zinia中使用form.html文件和django中的view函数创建条目 我知道这是一个基本的python类游戏 地狱世界可以在这里找到 关于你的第一个问题: params = {'title': 'My entry 1', 'content': 'My content 1', 'tags': 'zinnia, test', 'slug': 'my-entry-1', 'status': PUBLISHED} self.

有人能帮我解释下一页吗

如何在Zinia中使用form.html文件和django中的view函数创建条目

我知道这是一个基本的python类游戏

地狱世界可以在这里找到
关于你的第一个问题:

params = {'title': 'My entry 1', 'content': 'My content 1',
          'tags': 'zinnia, test', 'slug': 'my-entry-1',
          'status': PUBLISHED}
self.entry_1 = Entry.objects.create(**params)
self.entry_1.authors.add(self.authors[0])
self.entry_1.categories.add(*self.categories)
self.entry_1.sites.add(*self.sites)
这里的
Entry.objects.create(**params)
相当于 , 这将创建一个标题为“我的条目1”和内容为“我的内容1”的新条目 并保存到数据库中。基本条目类如下所示:

class EntryAbstractClass(models.Model):
    """Base Model design for publishing entries"""
    STATUS_CHOICES = ((DRAFT, _('draft')),
                      (HIDDEN, _('hidden')),
                      (PUBLISHED, _('published')))

    title = models.CharField(_('title'), max_length=255)

    image = models.ImageField(_('image'), upload_to=UPLOAD_TO,
                              blank=True, help_text=_('used for illustration'))
    content = models.TextField(_('content'))
    excerpt = models.TextField(_('excerpt'), blank=True,
                                help_text=_('optional element'))

    tags = TagField(_('tags'))
    categories = models.ManyToManyField(Category, verbose_name=_('categories'),
                                        related_name='entries',
                                        blank=True, null=True)
    related = models.ManyToManyField('self', verbose_name=_('related entries'),
                                     blank=True, null=True)

    slug = models.SlugField(help_text=_('used for publication'),
                            unique_for_date='creation_date',
                            max_length=255)

    authors = models.ManyToManyField(User, verbose_name=_('authors'),
                                     related_name='entries',
                                     blank=True, null=False)
因此,像
self.entry\u 1.authors.add(self.authors[0]
这样的行将相互关联
self.athors[0]
self.entry\u 1
通过
ManyToManyField

至于第二个问题,是的,您可以创建一个
form.html
和一个视图 函数添加一个新条目,但百日咳是为配合Django使用而设计的 管理界面来管理内容。它也会让你的生活更轻松。到 使用它,您需要在中的已安装应用程序中启用
'django.contrib.admin'
您的
settings.py
以及
url.py
文件

启用Django admin后,只需转到
example.com/admin/
即可 创建新条目


现在,如果出于某种原因您不使用或不能使用Django管理员,下面是
views.py
将添加新条目:

#views.py
from . import forms as entryform
from zinnia.models.entry import Entry

def add_entry(request):
    form = entryform.EntryForm(request.POST or None)
    if not (request.method == 'POST' and form.is_valid()):
        return render_to_response("forms.html", {'form': form})
    title = request.POST['title']
    content = request.POST['content']
    #...many more..
    Entry.objects.create(title=title, content=content)
    return render_to_response('success.html', {'form': form,})
请注意,您还需要创建一个
forms.py
来验证提交的表单

对于
forms.html
,您需要编写一个包含所有 您需要的输入,如“标题”和“内容”,并将其发布到本网站
添加条目
查看