def new_post(): form = PostForm() #Flask-Login 提供了一个代理对象 current_user 来访问和表示当前登录的对象, 这个对象在视图或模板中都是能够被访问的. # 所以我们常在需要判断用户是否为当前用户时使用(EG. 用户登录后希望修改自己创建的文章). if not current_user: return redirect(url_for('main.login')) if form.validate_on_submit(): new_post = Post(id=str(uuid4()), title=form.title.data) new_post.text = form.text.data new_post.publish_date = datetime.datetime.now() db.session.add(new_post) db.session.commit() return redirect(url_for('blog.home')) return render_template('new_post.html', form=form)
import datetime import random from uuid import uuid4 from MyBlog.models import db, User, Tag, Post user = User(id=str(uuid4()), username='******', password='******') db.session.add(user) db.session.commit() user = db.session.query(User).first() tag_one = Tag(id=str(uuid4()), name='t1') tag_two = Tag(id=str(uuid4()), name='t2') tag_three = Tag(id=str(uuid4()), name='t3') tag_four = Tag(id=str(uuid4()), name='t4') tag_list = [tag_one, tag_two, tag_three, tag_four] for i in range(100): new_post = Post(id=str(uuid4()), title="Post" + str(i)) new_post.user = user new_post.publish_date = datetime.datetime.now() new_post.text = "this is post test" new_post.tags = random.sample(tag_list, random.randint(1, 3)) db.session.add(new_post) db.session.commit()