django 학습-request 사용법

4597 단어 django
Django는 Request 객체와 Response 객체를 사용하여 시스템 간에 상태를 전달합니다.
페이지를 요청하면 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 사용법은 공식 문서 참조: 누르고 들어가기

좋은 웹페이지 즐겨찾기