Пример #1
0
    def test(self):
        checkin_actor = TransactionManager.get_checkin_actor()
        board = Board.objects.create(title="공지사항")

        post1 = Post()
        post1.title = "공지사항 제 1번"
        post1.content = "첫번째 공지사항입니다."
        post1.author = checkin_actor
        post1.board = board
        post1.save()

        assert board.posts.count() == 1
        assert post1.board == board
        assert post1.title == "공지사항 제 1번"
        assert post1.content == "첫번째 공지사항입니다."
        assert post1.author == checkin_actor
        assert post1.created_date.date() == post1.published_date.date()

        post2 = Post()
        post2.title = "공지사항 제 2번"
        post2.content = "두번째 공지사항입니다."
        post2.author = checkin_actor
        post2.board = board
        post2.save()

        assert board.posts.count() == 2
        assert post2.board == board
        assert post2.title == "공지사항 제 2번"
        assert post2.content == "두번째 공지사항입니다."
        assert post2.author == checkin_actor
        assert post2.created_date.date() == post2.published_date.date()
Пример #2
0
def post_add():
    form = PostForm()
    form.cid.choices = [(v.id, v.title) for v in db.session.query(Classify.id, Classify.title).all()]
    form.sid.choices = [(v.id, v.name) for v in Style.query.all()]
    form.author.data = session.get('nikename')
    # 表单是否验证成功
    if form.validate_on_submit():
        form.tags.data = tags_handle(form.tags.data)
        form.content.data = content_file_handle(form.content.data)
        post = field_obj_set(Post(),form.data)
        db.session.add(post)
        db.session.commit()
        flash('添加成功!', category='ok')
        return redirect(url_for('admin.post_add'))
    title = '新建文章'
    data = dict(title=title, tags=Tag.tags(), form=form)
    return render_template('admin/post.form.html', **data)
Пример #3
0
    def POST(self, post_id=None, action='add'):
        self.init_data(post_id, 'update') #switch to "update" and lose "edit" state
        form = self.form_class()
        if form.validates():
            active = True if form.get('active').value else False
            title = form.get('title').value
            body = form.get('body').value
            if action == 'edit':
                post_data = self.post
                post_data.title=title
                post_data.body=body
            else:
                post_data = Post(title=title,
                                 body=body,)
            post_data.active=active
            post_data.put()

            return web.seeother('/post/'+post_data.slug+'-'+str(post_data.key().id()), absolute=True)

        context['form'] = form
        return render_template('add.html', **context)