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 부분).
따라서 프로토 타입은 다음과 같은 MultiDict 의 args.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
'programing' 카테고리의 다른 글
syntastic vim 플러그인에 C ++ 11 지원을 추가하는 방법은 무엇입니까? (0) | 2021.01.19 |
---|---|
`.queryset` 속성이 없거나`.get_queryset ()`메서드를 재정의하는 뷰에는 DjangoModelPermissions를 적용 할 수 없습니다. (0) | 2021.01.19 |
Android Room Persistences 라이브러리 및 Kotlin (0) | 2021.01.19 |
쿠키 JSESSIONID 이름 변경 (0) | 2021.01.19 |
콘솔에 출력 형식을 지정하고 탭 수를 지정합니다. (0) | 2021.01.19 |