django 학습-request 사용법
4597 단어 django
페이지를 요청하면 Django는 요청 메타데이터를 포함하는 HttpRequest 객체를 만듭니다.Django가 해당 뷰를 로드하면 HttpRequest 객체가 뷰 함수의 첫 번째 매개변수가 됩니다.각 뷰에는 HttpResponse 객체가 반환됩니다.
일반적으로 사용되는 속성은 다음과 같습니다.
1、request.user
하나의 AUTHUSER_현재 로그인한 사용자를 나타내는 MODEL 유형의 객체당신은 is 를 통과할 수 있습니다authenticated () 는 다음과 같이 그것들을 구분합니다.
if request.user.is_authenticated():
# Do something for logged-in users.
else:
# Do something for anonymous users.
로그인하면 리퀘스트를 통과할 수 있습니다.사용자가 현재 로그인한 사용자 정보를 가져옵니다.
2、request.method
요청한 HTTP 방법을 나타내는 문자열대문자를 사용해야 합니다.예를 들면 다음과 같습니다.
if request.method == 'GET':
do_something()
elif request.method == 'POST':
do_something_else()
3、request.GET/POST
request.GET: HTTP GET의 모든 매개변수를 포함하는 사전과 유사한 객체
request.POST: 지정한 HTTP POST 매개 변수를 포함하는 클래스 사전 대상입니다. 폼 데이터를 포함하는 요청을 제공합니다.
HttpRequest 객체에서 GET 및 POST 속성은django입니다.http.QueryDict의 실례, 같은 키에 여러 값이 있는 것을 처리하는 데 사용되는 사용자 정의 사전과 유사한 클래스입니다.이 종류의 수요는 일부 HTML 폼 요소에서 여러 개의 값을 같은 키에 전달하는 것이 현저한 예이다.
request.POST 및 Request.GET의 QueryDict는 정상적인 요청/응답 주기에서 변경되지 않습니다.가변 버전을 얻으려면 사용해야 합니다.copy().
통상적인 용법은 통과
request.POST.get() :
def myapp(request):
if request.method == 'POST':
username = request.POST.get('username', '')
password = request.POST.get('password', '')
...
request.GET.get()
방법으로 URL이 전달하는 파라미터를 얻습니다:views.py
#url 127.0.0.1:8000/index/?sort=hot
def myapp(request):
if request.method == 'GET':
sort = request.GET.get('sort', '')
...
4、request.path
요청한 페이지의 전체 경로를 나타내는 문자열
base.html
<li {% if request.path == '/' %}class="active"{% endif %}><a href="{% url 'index' %}"> a>li>
필터
request.path|slice:'x'
를 통해 도메인 이름에 지정된 길이를 얻어 판단할 수 있다.5、request.META
request.META는 Python 사전으로 이번 HTTP에서 요청한 모든 헤더 정보를 포함합니다. 예를 들어 사용자 IP 주소와 사용자 에이전트 (일반적으로 브라우저의 이름과 버전 번호).
우리는 리퀘스트를 사용할 수 있다.META.get () 방법은 그 중 필요한 정보를 얻을 수 있지만, 전제 조건은 헤더에 어떤 데이터가 존재하는지 알고, 존재하지 않으면 오류 처리를 해야 한다는 것이다.
Header에 포함된 데이터는 다음과 같습니다.
values = request.META.items()
for i in values:
print(i)
……
더 많은 Request 사용법은 공식 문서 참조: 누르고 들어가기
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Django의 질문 및 답변 웹사이트환영 친구, 이것은 우리의 새로운 블로그입니다. 이 블로그에서는 , 과 같은 Question-n-Answer 웹사이트를 만들고 있습니다. 이 웹사이트는 회원가입 및 로그인이 가능합니다. 로그인 후 사용자는 사용자의 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.