programing

Flask에서 request.args는 무엇이며 어떻게 사용됩니까?

copyandpastes 2021. 1. 19. 08:19
반응형

Flask에서 request.args는 무엇이며 어떻게 사용됩니까?


저는 Flask를 처음 사용합니다. 어떻게 request.args사용 되는지 이해할 수 없습니다 . 나는 그것이 쿼리 문자열의 값을 반환하는 데 사용된다는 것을 어딘가에서 읽었다 [내가 틀렸다면 수정]. 그리고 얼마나 많은 매개 변수 request.args.get()가 필요합니다. 제출 된 양식 데이터를 저장해야 할 때

fname = request.form.get("firstname")

여기서는 하나의 매개 변수 만 전달됩니다.

이 코드를 고려하십시오. 페이지 매김도이 코드에서 수행되었습니다.

@app.route("/")
def home():
    cnx = db_connect()
    cur = cnx.cursor()
    output = []

    page = request.args.get('page', 1)

    try:
        page = int(page)
        skip = (page-1)*4
    except:
        abort(404)

    stmt_select = "select * from posts limit %s, 4;"
    values=[skip]

    cur.execute(stmt_select,values)
    x=cur.fetchall()

    for row in reversed(x):
        data = {
           "uid":row[0],
           "pid":row[1],
           "subject":row[2],
           "post_content":row[3],
           "date":datetime.fromtimestamp(row[4]),
        }
        output.append(data)

    next = page + 1
    previous = page-1
    if previous<1:
    previous=1
    return render_template("home.html", persons=output, next=next, previous=previous)

여기에서는 request.args.get()두 개의 매개 변수를 사용합니다. 두 개의 매개 변수가 필요한 이유와 그 용도를 설명하십시오.


flask.Request.args 문서 에 따르면 .

flask.Request.args MultiDict 쿼리 문자열의 구문 분석 된 내용. (물음표 뒤의 URL 부분).

따라서 프로토 타입은 다음과 같은 MultiDictargs.get()is 메서드 get()입니다 .

get(key, default=None, type=None)

@martinho는 Flask와 Python을 사용하는 초보자로서 기본 사항을 잘 이해하고 있다는 이전 답변이 당연하다고 생각합니다. 본인이나 다른 시청자가 기본 사항을 모르는 경우 답을 이해할 수 있도록 더 많은 컨텍스트를 제공하겠습니다.

... request.args당신을 위해 "사전"개체를 가져오고 있습니다. "dictionary"객체는 하나의 단일 객체에 많은 요소를 저장할 수 있다는 점에서 Python의 다른 컬렉션 유형 객체와 유사합니다. 따라서 귀하의 질문에 대한 답변

그리고 얼마나 많은 매개 변수 request.args.get()가 필요합니다.

이전 답변에서 언급했듯이 "사전"유형의 객체 인 하나의 객체 만 사용합니다. 그러나이 "dictionary"객체는 필요한만큼의 요소를 가질 수 있습니다 ... (사전에는 Key, Value라는 쌍을 이루는 요소가 있습니다).

"사전"외에 다른 컬렉션 유형의 객체는 "tuple"및 "list"입니다. 다른 Python 기본 사항을 배우기 위해 이러한 객체와 "데이터 구조"에 대해 Google 검색을 실행할 수 있습니다. 이 답변은 Python을 기반으로합니다. 다른 프로그래밍 언어에도 동일하게 적용되는지 알 수 없습니다.


request.args쿼리 문자열의 구문 분석 된 내용 이 포함 된 MultiDict 입니다. 로부터 문서get방법 :

get ( 키, 기본값 = None, type = None )

Return the default value if the requested data doesn’t exist. If type is provided and is a callable it should convert the value, return it or raise a ValueError if that is not possible.


It has some interesting behaviour in some cases that is good to be aware of:

from werkzeug.datastructures import MultiDict

d = MultiDict([("ex1", ""), ("ex2", None)])

d.get("ex1", "alternive")
# returns: ''

d.get("ex2", "alternative")
# returns no visible output of any kind
# It is returning literally None, so if you do:
d.get("ex2", "alternative") is None
# it returns: True

d.get("ex3", "alternative")
# returns: 'alternative'

ReferenceURL : https://stackoverflow.com/questions/34671217/in-flask-what-is-request-args-and-how-is-it-used

반응형