Beispiel #1
0
def album_create():
    flash('创建相册:', 'danger')
    form = AlbumInfoForm()
    # 取出数据库中的全部数据
    form.album_tag.choices = [(tag.id, tag.name)
                              for tag in AlbumTag.query.all()]
    if request.method == 'POST' and form.validate_on_submit():
        album_title = form.album_title.data
        # 确认用户相册是否已经存在
        existd = Album.query.filter(Album.user_id == session.get('user_id'),
                                    Album.title == album_title).count()
        if existd > 0:
            flash('相册已经存在', 'danger')
            return render_template('album_create.html', form=form)
        album_uuid = str(uuid.uuid4().hex[0:10])
        if Album.query.filter_by(uuid=album_uuid).count() > 0:
            # existed_count = Album.query.filter_by(title=album_title).count()
            # if existed_count > 0:
            flash('相册uuid已经存在,请重新输入', 'danger')
            return render_template('album_create.html', form=form)
        album_desc = form.album_desc.data
        album_privacy = form.album_privacy.data
        album_tag = form.album_tag.data
        album = Album(title=album_title,
                      desc=album_desc,
                      privacy=album_privacy,
                      tag_id=album_tag,
                      user_id=int(session.get('user_id')),
                      uuid=album_uuid)
        db.session.add(album)
        db.session.commit()
        return redirect(url_for('main.album_upload'))
    return render_template('album_create.html', form=form)
Beispiel #2
0
def album_create():
    form = AlbumInfoForm()
    if form.validate_on_submit():
        album_title = form.album_title.data
        existedCount = Album.query.filter(Album.user_id == session['user_id'],
                                          Album.title == album_title).count()
        if existedCount >= 1:
            flash(message="这个相册已经存在!重取个名字吧!或者更新已有相册!", category='err')
            return render_template("album_create.html", form=form)
        album_desc = form.album_desc.data
        album_privacy = form.album_privacy.data
        album_tag = form.album_tag.data
        existed = True
        album_uuid = str(uuid.uuid4().hex)[0:10]
        # 确保UUID的唯一性
        while existed:
            if Album.query.filter_by(uuid=album_uuid).count() > 0:
                album_uuid = str(uuid.uuid4().hex)[0:10]
            else:
                existed = False
        # 使用从表单接收到的数据创建一个Album类对象,加入album数据表
        album = Album(title=album_title, desc=album_desc,
                      privacy=album_privacy, tag_id=album_tag,
                      uuid=album_uuid,
                      user_id=int(session.get("user_id")))
        db.session.add(album)
        db.session.commit()
        return redirect(url_for("album_upload"))
    return render_template("album_create.html", form=form)
Beispiel #3
0
def album_create():  # 相册首页
    form = AlbumInfoForm()
    if form.validate_on_submit():
        album_title = form.album_title.data
        # 判断当前用户是否已经创建该标题的相册   如果相册属于当前用户,且刚创建的相册名称是否已经存在当前登录用户的相册中
        existedCount = Album.query.filter(Album.user_id == session["user_id"],
                                          Album.title == album_title).count()
        if existedCount > 0:
            # 相册已经创建过
            flash(message="当前相册已存在,请重新命名相册或更新已有相册!", category="err")
            return render_template("album_create.html", form=form)

        # exsited_count = Album.query.filter_by(title=album_title).count()
        # print(exsited_count)
        # if exsited_count > 0:   # 判断创建的相册标题是否已经存在
        #     flash(message="相册标题已经存在,请重新输入标题!!", category="err")
        #     return render_template("album_create.html", form=form)

        album_desc = form.album_desc.data
        album_privacy = form.album_privacy.data
        album_tag = form.album_tag.data
        album_uuid = str(uuid.uuid4().hex)[0:10]

        exsited = True
        while exsited:  # 确保uuid唯一性
            exsited_count = Album.query.filter_by(uuid=album_uuid).count()
            if exsited_count > 0:  # 判断创建的相册uuid是否已经存在
                print("已存在,重新生成uuid")
                album_uuid = str(uuid.uuid4().hex)[0:10]
            else:
                exsited = False

        album = Album(title=album_title,
                      desc=album_desc,
                      privacy=album_privacy,
                      tag_id=album_tag,
                      uuid=album_uuid,
                      user_id=int(session["user_id"]))

        db.session.add(album)
        db.session.commit()
        return redirect(url_for("album_upload"))
    return render_template("album_create.html", form=form)