[Flask] multiple routes on same function 多个路由对应同一方法

事情是这样的,一个表单,我想把get和post请求放到一个方法里,但是get和post的路由不一样。

@app.route('/markdown', methods=['GET'])
@app.route('/page_create', methods=['POST'])
def create():
    form = PageForm()
    context = {
        'form': form
    }
...


<!--more-->


按理说可以这样搞,但是我希望是不同的路由进来。

@app.route('/markdown', methods=['GET', 'POST'])
def create():
    form = PageForm()
    context = {
        'form': form
    }
...

那么view里可以这样生成链接,其实就是url_for 多个参数,指定用的method

<form method="post" action="{{ url_for('markdown.create', _method='POST') }}">

但事后觉得这样写太乱了,所以最好还是将get和post请求分不同的方法来写。