python response - Crie URLs dinâmicos no Flask com url_for()




run url_map (4)

Consulte o documento da API do Flask para flask.url_for()

Outros fragmentos de amostra de uso para vincular js ou css ao seu modelo estão abaixo.

<script src="{{ url_for('static', filename='jquery.min.js') }}"></script>

<link rel=stylesheet type=text/css href="{{ url_for('static', filename='style.css') }}">

Metade das minhas rotas Flask requer uma variável say, /<variable>/add ou /<variable>/remove . Como faço para criar links para esses locais?

url_for() leva um argumento para a função para rotear mas não posso adicionar argumentos?


url_for no Flask é usado para criar um URL para evitar a sobrecarga de ter que alterar os URLs em todo o aplicativo (inclusive nos modelos). Sem url_for , se houver uma alteração no URL raiz do seu aplicativo, você deverá alterá-lo em todas as páginas em que o link estiver presente.

Sintaxe: url_for('name of the function of the route','parameters (if required)')

Pode ser usado como:

@app.route('/index')
@app.route('/')
def index():
    return 'you are in the index page'

Agora, se você tiver um link na página de índice: você pode usar isto:

<a href={{ url_for('index') }}>Index</a>

Você pode fazer muitas coisas com ele, por exemplo:

@app.route('/questions/<int:question_id>'):    #int has been used as a filter that only integer will be passed in the url otherwise it will give a 404 error
def find_question(question_id):  
    return ('you asked for question{0}'.format(question_id))

Para o acima, podemos usar:

<a href = {{ url_for('find_question' ,question_id=1) }}>Question 1</a>

Assim você pode simplesmente passar os parâmetros!


Leva argumentos de palavra-chave para as variáveis:

url_for('add', variable=foo)

Utilize este comando check and create dir

 if not os.path.isdir(test_img_dir):
     os.mkdir(str("./"+test_img_dir))




python flask