5:django 상용 함수

6305 단어 django
django로view 함수를 쓸 때, 우리는django를 자주 사용한다.shortcuts에 자주 사용되는 함수들이 많은데,
이 절에서 우리는 이 함수들의 구체적인 용법을 좀 봅시다
render
render(request, template_name[, dictionary][, context_instance][, content_type][, status][, current_app])
render 는 요청을 반환하기 위해 페이지를 렌더링하고 Http Response 객체를 반환하는 렌더링입니다.
from django.shortcuts import render



def my_view(request):

    # View code here...

    return render(request, 'myapp/index.html', {"foo": "bar"},

        content_type="application/xhtml+xml")

 
필수 매개변수:
Request, 요청할 대상, 필수
template_name, 템플릿 전체 이름 또는 템플릿 이름 시퀀스, 필수
옵션 매개변수:
dictionary, 템플릿에 사용할 수 있는 매개 변수 값을 포함하는 사전
context_instance, 렌더링 템플릿에 사용되는 상하문 대상, 기본적으로 RequestContext 대상
content_type, 되돌아오는 템플릿의 종류를 지정합니다
status, 상태 코드, 기본 200
current_app, 기본 응용 프로그램 이름
좀 번거롭지, 좀 그렇지, 그래서,renderto_response가 생겼어요.
render_to_response
render_to_response(
template_name[, dictionary][, context_instance][, mimetype])
주어진 컨텍스트 객체로 주어진 템플릿을 렌더링한 다음 HttpResponse 객체로 돌아갑니다.
from django.shortcuts import render_to_response



def my_view(request):

    # View code here...

    return render_to_response('myapp/index.html', {"foo": "bar"},context_instance=RequestContext(request),

        mimetype="application/xhtml+xml")

 
매개 변수의 선택성은render와 마찬가지로 선택할 수 있는 매개 변수contextinstance,
컨텍스트 프로세서를 사용할 때 기본 context 대신 RequestContext를 사용합니다.위 예와 같이 instance
redirect
redirect(
to, 
[permanent=False, ]*args, **kwargs)
HttpResponseRedirect 객체 반환
매개변수는 다음과 같습니다.
모델 1개
view 함수 이름 1개
url 1개
#     ,         get_absolute_url()     url

def my_view(request):

    ...

    object = MyModel.objects.get(...)

    return redirect(object)



#     view  ,    reverse()     url

def my_view(request):

    ...

    return redirect('some-view-name', foo='bar')



#        url

def my_view(request):

    ...

    return redirect('/some/url/')



#       url

def my_view(request):

    ...

    return redirect('http://example.com/')

 
기본적으로redirect는 임시 방향을 되돌려줍니다. 영구적인 방향을 되돌려야 한다면permanent 인자를True로 설정하십시오
get_object_or_404
get_object_or_404(
klass, 
*args, 
**kwargs)
객체를 가져오거나 DoesNotExist 예외가 아닌 404 오류를 반환합니다.
필수 매개 변수: klass는 대상을 검색할 수 있는 모델, 관리자,Queryset을 요청합니다
선택 가능한 매개 변수: get이나 Filter에서 받아들일 수 있는 검색 매개 변수를 요구합니다
from django.shortcuts import get_object_or_404



def my_view(request):

    my_object = get_object_or_404(MyModel, pk=1)

 
get_list_or_404
get_list_or_404(
klass, 
*args, 
**kwargs)
모델 관리자를 지정하여 Filter 결과를 반환하고 결과가 비어 있으면 Http404 오류를 반환합니다.
매개변수 요구 사항 및 getobject_or_404 똑같아요.
from django.shortcuts import get_list_or_404



def my_view(request):

    my_objects = get_list_or_404(MyModel, published=True)

 
 
p

좋은 웹페이지 즐겨찾기