def init_tag(): tag1 = Tag(title='common', remark='通用') tag2 = Tag(title='trip', remark='旅行') tag3 = Tag(title='life', remark='生活') tag4 = Tag(title='motion', remark='情感') db.session.add(tag1) db.session.add(tag2) db.session.add(tag3) db.session.add(tag4) db.session.commit()
def post(self,post_id=None): if post_id: abort(405) else: args = post_post_parser.parse_args(strict=True) user = User.verify_auth_token(args['token']) if not user: abort(401) new_post = Post(args['title']) new_post.user = user new_post.publish_date=datetime.datetime.now() new_post.text = args['text'] if args['tags']: for item in args['tags']: tag = Tag.query.filter_by( title=item ).first() if tag: new_post.tags.append(tag) else: new_tag = Tag(item) new_post.tags.append(new_tag) db.session.add(new_post) db.session.commit() return new_post.id,201
def put(self, post_id=None): if not post_id: abort(400) post = Post.query.get(post_id) if not post: abort(404) args = post_put_parser.parse_args(strict=True) user = User.verify_auth_token(args['token']) if not user: abort(401) if user != post.author: abort(403) if args['title']: post.title = args['title'] if args['text']: post.text = args['text'] if args['tags']: for item in args['tags']: tag = Tag.query.filter_by(title=item).first() if tag: post.tags.append(tag) else: new_tag = Tag(item) post.tages.append(new_tag) db.session.add(post) db.session.commit() return post.id, 201
def post(self, item_id=None): if item_id: abort(400) else: args = item_post_parser.parse_args(strict=True) user = User.verify_auth_token(args['token']) if not user: abort(401) new_item = Item(args['title']) new_item.date = datetime.datetime.now() new_item.description = args['description'] new_item.price = args['price'] new_item.user = user if args['tag']: for item in args['tag']: tag = Tag.query.filter_by(title=item).first() #Add the tag if it exists # If not, make a new tag if tag: new_item.tags.append(tag) else: new_tag = Tag(item) new_item.tags.append(new_tag) db.session.add(new_item) db.session.commit() return new_item.id, 201
def new(type): form = PostForm() if form.validate_on_submit(): new_post = Post(form.title.data) new_post.text = form.text.data new_post.cover = form.cover.data new_post.publish_date = datetime.now() new_post.update_date = new_post.publish_date new_post.user_id = current_user.id new_post.type = type new_post.summary = form.summary.data new_post.video = form.video.data tagStrList = form.tags.data.split(',') for tagStr in tagStrList: tagStr = tagStr.strip() tag = Tag.query.filter_by(title=tagStr).first() if not tag: tag = Tag(tagStr) new_post.tags.append(tag) for photo_url in form.photos.data: if photo_url != '': photo = Photo(photo_url) new_post.photos.append(photo) db.session.add(new_post) db.session.commit() return redirect(url_for('blog.post', post_id=new_post.id)) form.type.data = type return render_template("edit_{}.html".format(type), form=form, type=type)
def create_start_tags(): session = Session() standard_tags = ('комедия', 'боевик', 'ужасы', 'мультфильм', 'документалка') for tag in standard_tags: tag = Tag(name=tag) session.add(tag) print("Тег", tag.name, "внесен в список тегов") print("-----------------Список тегов обновлен----------------") session.commit() session.close()
def setup_db(): db.create_all() admin_role = Role() admin_role.name = "admin" admin_role.description = "admin" db.session.add(admin_role) default_role = Role() default_role.name = "default" default_role.description = "default" db.session.add(default_role) admin = User() admin.username = "******" admin.set_password("password") admin.roles.append(admin_role) admin.roles.append(default_role) db.session.add(admin) tag_one = Tag('Python') tag_two = Tag('Flask') tag_three = Tag('SQLAlechemy') tag_four = Tag('Jinja') tag_list = [tag_one, tag_two, tag_three, tag_four] s = "Body text" for i in xrange(100): new_post = Post("Post " + str(i)) new_post.user = admin new_post.publish_date = datetime.datetime.now() new_post.text = s new_post.tags = random.sample(tag_list, random.randint(1, 3)) db.session.add(new_post) db.session.commit()
def setup_db(): 'Code to setup initial db with necessary info' db.create_all() admin_role = Role("admin") admin_role.description = "admin of applicaiton" db.session.add(admin_role) poster_role = Role("poster") poster_role.description = "user with ability to post items" db.session.add(poster_role) admin = User("admin") admin.set_password("password") admin.roles.append(admin_role) admin.roles.append(poster_role) db.session.add(admin) tag_one = Tag('clothes') tag_two = Tag('books') tag_three = Tag('technology') tag_four = Tag('sports') tag_five = Tag('music') tag_list = [tag_one, tag_two, tag_three, tag_four, tag_five] s = "Description text" for i in xrange(100): new_item = Item("Item {}".format(i)) new_item.user = admin new_item.added_date = datetime.datetime.now() new_item.description = s new_item.tags = random.sample(tag_list, random.randint(1, 4)) db.session.add(new_item) db.session.commit()
def setup_db(): db.create_all() # 创建管理员角色 admin_role = Role('admin') admin_role.description = 'admin' db.session.add(admin_role) # 创建默认角色 default_role = Role('default') default_role.description = 'default' db.session.add(default_role) # 创建管理员用户信息 admin = User('admin') admin.set_password('password') admin.roles.append(admin_role) admin.roles.append(default_role) db.session.add(admin) tag_one = Tag('Python') tag_two = Tag('Flask') tag_three = Tag('SQLAlchemy') tag_four = Tag('Jinja') tag_list = [tag_one, tag_two, tag_three, tag_four] s = 'Body text' for i in range(100): new_post = Post('Post %s' % i, s) new_post.user = admin new_post.publish_date = datetime.datetime.now() new_post.tags = random.sample(tag_list, random.randint(1, 3)) db.session.add(new_post) db.session.commit()
def edit(id): post = Post.query.get_or_404(id) permission = Permission(UserNeed(post.user.id)) if permission.can() or admin_permission.can(): form = PostForm() if form.validate_on_submit(): post.title = form.title.data post.cover = form.cover.data post.video = form.video.data post.summary = form.summary.data post.text = form.text.data post.update_date = datetime.now() del post.tags[:] # 删除所有标签 del post.photos[:] # 删除所有图片 if form.tags.data.strip(): tagStrList = form.tags.data.split(',') for tagStr in tagStrList: # 对标签循环 tagStr = tagStr.strip() tag = Tag.query.filter_by(title=tagStr).first() if not tag: # 标签不存在时新增 tag = Tag(tagStr) post.tags.append(tag) for photo_url in form.photos.data: if photo_url != '': photo = Photo(photo_url) post.photos.append(photo) db.session.add(post) db.session.commit() return redirect(url_for('.post', post_id=post.id)) type = post.type form.cover.data = post.cover form.text.data = post.text form.title.data = post.title form.summary.data = post.summary form.type.data = type photos = [photo.url for photo in post.photos] form.summary.data = post.summary tags = [] for tag in post.tags: tags.append(tag.title) form.tags.data = ','.join(tags) return render_template("edit_{}.html".format(type), form=form, post=post, photos=photos) abort(403)
def put(self, item_id=None): if not item_id: abort(400) else: item = Item.query.get(item_id) if not item: abort(404) args = item_put_parser.parse_args(strict=True) user = User.verify_auth_token(args['token']) if not user: abort(401) if user != item.user: abort(403) if args['title']: item.title = args['title'] if args['description']: item.description = args['description'] if args['price']: item.price = args['price'] if args['tag']: for item in args['tag']: tag = Tag.query.filter_by(title=item).first() #Add the tag if it exists # If not, make a new tag if tag: item.tags.append(tag) else: new_tag = Tag(item) item.tags.append(new_tag) db.session.add(item) db.session.commit() return item.id, 201
def new_post(): if request.method == 'POST': jsonStr = request.get_data() data = json.loads(jsonStr) if hasattr(data, 'key') or data['key'] != "wysj3910": return "密钥错误!" new_post = Post(data['title']) # 创建帖子 new_post.text = data['text'] # 内容 new_post.cover = data['cover'] # 封面 new_post.publish_date = time.strftime( "%Y-%m-%d %H:%M:%S", time.localtime(data['publish_date'])) # 发布日期 new_post.update_date = datetime.datetime.now() #更新的日期 user = User.query.filter_by(username=data['username']).first() # 获取用户 if not user: user = User(data['username']) if hasattr(data, 'nickname'): user.nickname = data['nickname'] new_post.user = user # 用户 new_post.type = data['type'] # 类型 new_post.summary = data['summary'] # 简介 new_post.video = data['video'] # 视频地址 new_post.read = data['read'] # 阅读量 new_post.post_hash = data['post_hash'] #贴的hash值 for photo_url in data['photos']: # 图片列表 if photo_url != '': photo = Photo(photo_url) new_post.photos.append(photo) for tagStr in data['tags']: # 标签 tagStr = tagStr.strip() tag = Tag.query.filter_by(title=tagStr).first() if not tag: tag = Tag(tagStr) new_post.tags.append(tag) db.session.add(new_post) db.session.commit() return json.dumps({'status': 0})
def post(self, post_id=None): if post_id: # 为啥要设置这条件? abort(400) else: args = post_post_parser.parse_args(strict=True) # ? user = User.verify_auth_token(args['token']) if not user: abort(401) new_post = Post(args['title'], args['text']) # 新建post对象 new_post.date = datetime.datetime.now() new_post.author = user if args['tags']: for item in args['tags']: tag = Tag.query.filter_by(title=item).first() if tag: # 如果数据库已经存在该tag,那就直接添加到新post中 new_post.tags.append(tag) else: # 不然要新建了再添加 new_tag = Tag(item) new_post.tags.append(new_tag) db.session.add(new_post) db.session.commit() return new_post.id, 201
def insert_data(): with app.app_context(): # 不需要在这里创建库,应该使用数据库升级命令`db upgrade`来创建库 # db.create_all() # 这里设定了3种角色 role_admin = Role(name='admin') role_admin.description = "administrator role" role_poster = Role(name='poster') role_poster.description = "the registered user role" role_default = Role(name='default') role_default.description = 'the unregistered user role' db.session.add(role_admin) db.session.add(role_poster) db.session.add(role_default) # add User admin = User(username='******') admin.email = '*****@*****.**' admin.password = '******' admin.confirmed = True admin.roles.append(role_admin) admin.roles.append(role_poster) admin.roles.append(role_default) db.session.add(admin) user01 = User(username='******') user01.email = '*****@*****.**' user01.password = '******' user01.confirmed = True user01.roles.append(role_poster) user01.roles.append(role_default) db.session.add(user01) user02 = User(username='******') user02.email = '*****@*****.**' user02.password = '******' user02.confirmed = True user02.roles.append(role_poster) user02.roles.append(role_default) db.session.add(user02) # add Tag and Post tag_one = Tag('Python') tag_two = Tag('Flask') tag_three = Tag('SQLAlechemy') tag_four = Tag('Jinja') tag_list = [tag_one, tag_two, tag_three, tag_four] s = "Example Text" for i in xrange(1, 101): new_post = Post("Post {}".format(i)) if i % 2: new_post.user = user01 else: new_post.user = user02 new_post.publish_date = datetime.datetime.utcnow() new_post.text = s new_post.tags = random.sample(tag_list, random.randint(1, 3)) db.session.add(new_post) # add comment comment01 = Comment() comment01.name = 'comment01' comment01.text = 'comment text' comment01.post_id = 99 comment01.date = datetime.datetime.utcnow() db.session.add(comment01) comment02 = Comment() comment02.name = 'comment02' comment02.text = 'comment text' comment02.post_id = 100 comment02.date = datetime.datetime.utcnow() db.session.add(comment02) db.session.commit()
import random import datetime from webapp.models import db, User, Post, tags, Tag, Comment user = User.query.get(1) tag_one = Tag('Python') tag_two = Tag('Flask') tag_three = Tag('SQLAlechemy') tag_four = Tag('Jinja') tag_list = [tag_one, tag_two, tag_three, tag_four] s = "Example text" for i in range(100): new_post = Post("Post " + str(i)) new_post.user = user new_post.publish_date = datetime.datetime.now() new_post.text = s new_post.tags = random.sample(tag_list, random.randint(1, 3)) db.session.add(new_post) db.session.commit()
import random import datetime from webapp.models import User, Tag, Post, db user = User.query.get(1) tag_1 = Tag(u'python') tag_2 = Tag(u'Flask') tag_3 = Tag(u'Jinja') tag_4 = Tag(u'Sql') tag_list = [ tag_1, tag_2, tag_3, tag_4 ] s = 'demo text' for i in xrange(100): new_post = Post('Post' + str(i)) new_post.user = user new_post.publish_date = datetime.datetime.now() new_post.text = s new_post.tags = random.sample(tag_list, random.randint(1, 3)) db.session.add(new_post) db.session.commit()