03.Flask Request 객체

5070 단어 flask

방문한 URL과 접근 방식 가져오기

from flask import request
#....
with app.test_request_context('/login',method='POST'):
    print(request.path) # url /login 
    print(request.method) #  POST

요청 매개변수 가져오기

with app.test_request_context('/login?a=10&b=20',method='GET'):
    print(request.args['a']) # a  a KeyError 
    print(request.args['b']) # b  a KeyError 
    print(request.args.get('a',30))# a  a 30, 
''' with app.test_request_context('/login?a=10&b=20',method='GET'): print(dir(request)) request : ['__class__', '__delattr__', '__dict__', '__dir__', '__doc__', '__enter__', '__eq__', '__exit__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__le__', '__lt__', '__module__', '__ne__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', '_get_file_stream', '_get_stream_for_parsing', '_is_old_module', '_load_form_data', '_parse_content_type', 'accept_charsets', 'accept_encodings', 'accept_languages', 'accept_mimetypes', 'access_route', 'application', 'args', 'authorization', 'base_url', 'blueprint', 'cache_control', 'charset', 'close', 'content_encoding', 'content_length', 'content_md5', 'content_type', 'cookies', 'data', 'date', 'dict_storage_class', 'disable_data_descriptor', 'encoding_errors', 'endpoint', 'environ', 'files', 'form', 'form_data_parser_class', 'from_values', 'full_path', 'get_data', 'get_json', 'headers', 'host', 'host_url', 'if_match', 'if_modified_since', 'if_none_match', 'if_range', 'if_unmodified_since', 'input_stream', 'is_json', 'is_multiprocess', 'is_multithread', 'is_run_once', 'is_secure', 'is_xhr', 'json', 'list_storage_class', 'make_form_data_parser', 'max_content_length', 'max_form_memory_size', 'max_forwards', 'method', 'mimetype', 'mimetype_params', 'module', 'on_json_loading_failed', 'parameter_storage_class', 'path', 'pragma', 'query_string', 'range', 'referrer', 'remote_addr', 'remote_user', 'routing_exception', 'scheme', 'script_root', 'shallow', 'stream', 'trusted_hosts', 'url', 'url_charset', 'url_root', 'url_rule', 'user_agent', 'values', 'view_args', 'want_form_data_parsed'] '''                       


# POST PUT 
request.form ,# form ,post KEY-VALUE form 

파일 업로드는
f = request.files['the_file']
f.save('/var/www/uploads/uploaded_file.txt')

cookies 가져오기
username = request.cookies.get('username')

쿠키를 설정하려면 from flask import makeresponse
@app.route('/')
def index():
    resp = make_response(render_template(...))# ,cookie 
    resp.set_cookie('username', 'the username')# cookie
    return resp# 

다른 매개 변수는dir(request)를 통해 속성을 볼 수 있으며, 하나하나 실험하거나 앞으로의 블로그에서 상세한 정보를 얻을 수 있습니다.

좋은 웹페이지 즐겨찾기