示例#1
0
def addPost():
    form = AddPostForm()
    user = current_user
    print(user)
    userid = current_user.id
    print(userid)
    if form.validate_on_submit():
        try:
            print("form.title.data", form.title.data)
            p = Posts(title=form.title.data,
                      url=form.url.data,
                      text=form.text.data,
                      user_id=userid)
            print("p", p)
            db.session.add(p)
            db.session.commit()
        except:
            db.session.rollback()
            # if request.method == "POST":
            #     if len(request.form['name']) > 4 and len(request.form['post']) > 10:
            #         res = dbase.addPost(request.form['name'], request.form['post'], request.form['url'])
            #         if not res:
            #             flash('Ошибка добавления статьи', category = 'error')
            #         else:
            #             flash('Статья добавлена успешно', category='success')
            #     else:
            flash('Ошибка добавления записи', category='error')
        return redirect(url_for('index'))
        # mainmenu = ["Установка", "Первое приложение", "Обратная связь"]
        # return render_template('add_post.html', menu=mainmenu, form=form, title="Добавление статьи")
    # mainmenu = ["Установка", "Первое приложение", "Обратная связь"]
    return render_template('add_post.html',
                           menu=mainmenu,
                           form=form,
                           title="Добавление записи")
示例#2
0
def add_post():
    """Adds a post."""

    if "user_id" not in session:
        flash("🚫 You must be logged in to create posts.")
        return redirect("/")

    form = AddPostForm()

    if form.validate_on_submit():
        # data = {k: v for k, v in form.data.items() if k != "csrf_token"}
        # new_post = Post(**data)
        # image = form.image.data
        title = form.title.data
        photo_url = form.photo_url.data
        purchase_url = form.purchase_url.data
        caption = form.caption.data
        user_id = session["user_id"]

        new_post = Post(user_id=user_id,
                        title=title,
                        photo_url=photo_url,
                        purchase_url=purchase_url,
                        caption=caption)
        db.session.add(new_post)
        db.session.commit()
        flash(f"New post: {new_post.title} added. 👏🏻")
        return redirect("/myposts")

    else:
        # re-present form for editing
        return render_template('/posts/add_post_form.html', form=form)
示例#3
0
def add_blog_post():
    user = current_user

    title = 'Add Blog Post'
    header = 'Add a Blog Post'

    form = AddPostForm()
    if form.validate_on_submit():
        new_post = Post(user_id=user.id,
                        title=form.title.data,
                        content=form.content.data,
                        timestamp=datetime.datetime.now())

        try:
            db.session.add(new_post)
            db.session.commit()
            flash('Post "' + form.title.data + '" added!')
            return redirect('/index')
        except IntegrityError as e:
            flash(e.message)
            return redirect('/add_blog_post')

    return render_template('add_blog_post.html',
                           user=user,
                           title=title,
                           header=header,
                           form=form)
示例#4
0
文件: app.py 项目: brielp/bookmarkit
def add_post(board_id):
    """ Add a post to a board, make request to LinkPreview API """
    board = Board.query.get_or_404(board_id)

    if not g.user or board.user_id != g.user.id:
        flash("Access unauthorized.", "danger")
        return redirect("/")

    form = AddPostForm(request.form)

    if form.validate_on_submit():
        authdata = {"key": API_KEY, "q": form.url.data}

        resp = requests.get("https://api.linkpreview.net/", params=authdata)

        if resp.status_code != 200:
            print(f"{resp.json()}")
            flash(
                "There was an error while adding this Post. Please try again.",
                "danger")
            return redirect(f"/boards/{board_id}")

        title = resp.json()["title"]
        description = resp.json()["description"]
        image_url = resp.json()["image"]
        url = resp.json()["url"]
        complete_by = form.complete_by.data

        if not title:
            flash("No Title could be found for that URL.", "danger")
            return redirect(f"/boards/{board_id}")

        if not image_url:
            image_url = default_image_url

        if not url:
            url = form.url.data

        p1 = Post(title=title,
                  description=description,
                  image_url=image_url,
                  url=url,
                  complete_by=complete_by,
                  board_id=board_id)
        db.session.add(p1)
        db.session.commit()

        return redirect(f"/boards/{board_id}")

    posts = Post.query.filter_by(board_id=board_id).all()
    dated_posts = readable_date(posts)

    return render_template('board.html',
                           board=board,
                           form=form,
                           posts=dated_posts)
示例#5
0
def add():
    form = AddPostForm()
    if form.validate_on_submit():
        title = form.title.data
        topic = form.topic.data
        author = session['username']
        content = form.content.data

        post = Blogpost(title=title, topic=topic, author=author, \
        content=content, date_posted=datetime.now())

        db.session.add(post)
        db.session.commit()
        return redirect(url_for('profile', username=session['username']))
    return render_template('add.html', form=form)
示例#6
0
def add_post():
    form = AddPostForm()
    session = db_session.create_session()
    if form.validate_on_submit():
        new_post = Post()
        new_post.author = session.merge(current_user)
        new_post.title = form.title.data
        new_post.text = form.text.data
        now_datetime = datetime.datetime.now()
        new_post.creating_date = datetime.datetime.now()
        new_post.creating_date_norm_view = date_to_normal_view(now_datetime)
        session.add(new_post)
        session.commit()
        return redirect(f'/user/{current_user.id}/1')
    return render_template('add_edit_post_page.html', form=form, add=True)
示例#7
0
def addPost():
    form = AddPostForm()

    if request.method == 'POST':
        if request.form.get('submit') == 'Cancel':
            return redirect(url_for('PostsFiles.showAllMyPosts'))
        
        elif form.validate_on_submit():
            postType = form.post_type.data.encode('utf-8')
            postTitle = form.post_title.data.encode('utf-8')
            postPrivacy = form.post_privacy.data.encode('utf-8')
            postContent = form.post_content.data.encode('utf-8')
            addPosts(postType, postTitle, postPrivacy, postContent)  
            return redirect(url_for('PostsFiles.showAllMyPosts'))
    return render_template('addPost.html', form = form) 
示例#8
0
def add_post():
    form = AddPostForm()
    if form.validate_on_submit():
        slug = slugify(form.title.data)
        page_path = os.path.join(app.root_path, app.config['FLATPAGES_ROOT'], 'blog', slug) + app.config['FLATPAGES_EXTENSION']

        # Add some metadata for the user:
        blog_post = ('title: ' + form.title.data.replace(':', '') + '\n' +
                     'published: ' + datetime.today().strftime('%Y-%m-%d') + '\n\n' +
                     form.page.data)

        with open(page_path, 'w') as page_file:
            page_file.write(blog_post)
        return redirect(url_for('post_detail', path='blog/' + slug))

    return render_template('admin_add_page.html', form=form)
示例#9
0
def add_post():
    form = AddPostForm()
    if form.validate_on_submit():
        current_time = datetime.datetime.now()
        post = Post(title=form.title.data,
                    body_markdown=form.body_markdown.data,
                    body=markdown.markdown(form.body_markdown.data,
                                           extensions=['codehilite']),
                    tagline=" ".join(form.body_markdown.data.split()[:25]) +
                    "..",
                    timestamp=current_time,
                    user_id=current_user.id)
        post.tags.append(Tag(tag='Sports'))
        db.session.add(post)
        db.session.commit()
        return redirect(url_for('posts'))
    return render_template('add_post.html', form=form)
示例#10
0
def edit_post(postid):
    post = Post.query.filter_by(id=postid).first()
    form = AddPostForm(obj=post)
    if form.validate_on_submit():
        current_time = datetime.datetime.now()
        post.title = form.blog_post_title.data
        post.body_markdown = form.blog_post_markdown.data
        post.body = markdown.markdown(form.blog_post_markdown.data,
                                      extensions=['codehilite'])
        post.tagline = " ".join(
            form.blog_post_markdown.data.split()[:25]) + ".."
        post.timestamp = current_time
        post.user_id = current_user.id
        db.session.add(post)
        db.session.commit()
        return redirect(url_for('posts'))

    return render_template('add_post.html',
                           form=form,
                           post=json.dumps(post.serialize()))