1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- from flask import render_template, Blueprint, flash, request, redirect, url_for
- import requests
- from backstage.blogs.forms import BlogCreateForm
- from backstage.utils import translate, get_now_time
- from time import sleep
- blogs_app = Blueprint('blogs', __name__)
- @blogs_app.route('/backstage/blogs')
- def blog_list():
- response = requests.get('http://127.0.0.1:5000/api/contents?url=/blog')
- if response.status_code == 200:
- return render_template('blogs.html',
- title='設計專欄',
- legend='設計專欄列表',
- blogs=response.json(),
- length=len(response.json()),
- form=BlogCreateForm())
- @blogs_app.route('/backstage/create/blog', methods=['POST'])
- def create():
- form = BlogCreateForm()
- url_name = translate(form.title.data).replace(' ', '_')
- front_matter = '''---
- title: "{}"\n\
- date: {}\n\
- draft: {}\n\
- type: "{}"\n\
- url: "{}"\n\
- image: "/img/blog/{}"\n\
- categories: ["{}"]\n\
- ---'''.format(form.title.data,
- get_now_time(),
- 'false',
- 'blog',
- '/blog/{}'.format(url_name),
- form.image.data.filename,
- form.categories.data)
- data = {'frontMatter': front_matter,
- 'name': request.form['title'],
- 'type': form.categories.data}
- new_response = requests.post('http://127.0.0.1:5000/api/new_content', json=data)
- if new_response.status_code == 200:
- requests.post(
- 'http://127.0.0.1:5000/api/upload/static/img?type=blog&filename={}'.format(
- form.image.data.filename), files={'image': form.image.data})
- sleep(0.5)
- return redirect(url_for('editor.editor', url='/blog/{}'.format(url_name)))
- else:
- flash('新增文章失敗', 'danger')
- return redirect(url_for('blogs.blog_list'))
|