django 1.8 공식 문서 번역: 3-1-3 Django의 빠른 함수

8976 단어 django
Django의 단축 함수django.shortcuts은 다중 MVC를 뛰어넘는 보조 함수와 클래스를 수집했다.다시 말하면 이런 함수/류는 편의를 위해 제어할 수 있는 결합을 도입했다.
render render(request, template_name[, context][, context_instance][, content_type][, status][, current_app][, dirs][, using])[source]
주어진 템플릿과 주어진 상하문 사전을 결합시켜 렌더링된 HttpResponse 대상을 되돌려줍니다.render()RequestContext을 강제로 사용하는 context_instance 매개 변수로 render_to_response()을 호출하는 것과 같다.
Django는 TemplateResponse을 되돌려주는 단축 함수를 제공하지 않습니다. 왜냐하면 TemplateResponse의 구조와 render()이 제공하는 편리함은 한 차원이기 때문입니다.
필수 매개변수request
응답을 생성하는 데 사용되는 요청 대상입니다.template_name
사용할 템플릿의 전체 이름 또는 템플릿 이름의 시퀀스입니다.
옵션 매개변수context
템플릿 상하문에 추가된 사전입니다.기본값은 빈 사전입니다.사전의 값을 호출할 수 있다면, 보기는 템플릿을 렌더링하기 전에 호출합니다.
Django 1.8    :

context       dictionary。     Django 1.8       Django 2.0    。
context_instance
템플릿의 컨텍스트 인스턴스를 렌더링합니다.기본적으로 템플릿은 RequestContext 인스턴스(requestcontext)를 사용하여 렌더링됩니다.
   1.8     :

  context_instance   。    context。
content_type
생성된 문서에 사용할 MIME 유형입니다.기본값은 DEFAULT_CONTENT_TYPE으로 설정됩니다.status
응답하는 상태 코드입니다.기본값은 200입니다.current_app
현재 보기를 포함하는 응용 프로그램을 표시합니다.자세한 내용은 네임스페이스가 있는 URL 확인을 참조하십시오.
  1.8     :

  current_app   。     request.current_app。
using
템플릿을 로드하는 데 사용되는 템플릿 엔진의 이름입니다.
Changed in Django 1.8:

  using   。
Changed in Django 1.7:

  dirs   。
Deprecated since version 1.8:

  dirs   。

예제
다음 예제에서는 렌더링 템플릿 myapp/index.html, MIME 유형 application/xhtml+xml을 보여 줍니다.
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")

이 예는 다음과 같습니다.
from django.http import HttpResponse
from django.template import RequestContext, loader

def my_view(request):
    # View code here...
    t = loader.get_template('myapp/index.html')
    c = RequestContext(request, {'foo': 'bar'})
    return HttpResponse(t.render(c),
        content_type="application/xhtml+xml")

rendertoresponse render_to_response(template_name[, context][, context_instance][, content_type][, status][, dirs][, using])[source]
주어진 상하문 사전에 따라 주어진 목표를 렌더링하고 렌더링된 HttpResponse를 되돌려줍니다.
필수 매개변수template_name
사용된 템플릿의 전체 이름 또는 템플릿 이름의 시퀀스입니다.주어진 서열이 있다면, 존재하는 첫 번째 템플릿을 사용합니다.템플릿을 찾는 방법에 대한 더 많은 정보는 템플릿이 불러온 문서를 참고하십시오.
옵션 매개변수context
템플릿 컨텍스트에 추가된 사전입니다.기본값은 빈 사전입니다.사전의 값을 호출할 수 있다면, 보기는 템플릿을 렌더링하기 전에 호출합니다.
Changed in Django 1.8:

context       dictionary。      Django 1.8       Django 2.0    。
context_instance
렌더링 템플릿에 사용되는 컨텍스트 인스턴스입니다.기본적으로 템플릿은 Context 인스턴스(context)를 렌더링합니다.컨텍스트 프로세서를 사용하려면 RequestContext 실례 렌더링 템플릿을 사용하십시오.당신의 코드는 이렇게 보입니다.
return render_to_response('my_template.html',
                          my_context,
                          context_instance=RequestContext(request))
  1.8     :

  context_instance   。     context。
content_type
생성된 문서에 사용되는 MIME 유형입니다.기본값은 DEFAULT_CONTENT_TYPE으로 설정됩니다.status
상응하는 상태 코드.기본값은 200입니다.using
템플릿을 로드하는 데 사용되는 템플릿 엔진의 이름입니다.
Changed in Django 1.8:

  status  using   。
Changed in Django 1.7:

  dirs   。
Deprecated since version 1.8:

  dirs   。

예제
다음 예제에서는 렌더링 템플릿 myapp/index.html, MIME 유형 application/xhtml+xml을 보여 줍니다.
from django.shortcuts import render_to_response

def my_view(request):
    # View code here...
    return render_to_response('myapp/index.html', {"foo": "bar"},
        content_type="application/xhtml+xml")

이 예는 다음과 같습니다.
from django.http import HttpResponse
from django.template import Context, loader

def my_view(request):
    # View code here...
    t = loader.get_template('myapp/index.html')
    c = Context({'foo': 'bar'})
    return HttpResponse(t.render(c),
        content_type="application/xhtml+xml")

redirect redirect(to, [permanent=False, ]*args, **kwargs)[source]
전달된 매개변수에 대해 올바른 URL에 Http ResponseRedirect를 반환합니다.
매개변수는 다음과 같습니다.
  • 하나의 모델: 모델의 get_absolute_url() 함수
  • 을 호출합니다
  • 하나의 보기, 매개 변수를 포함할 수 있음: urlresolvers.reverse을 사용하여 명칭
  • 을 역해석
  • 은 원래의 위치를 리디렉션 위치로 지정하는 절대적 또는 상대적 URL입니다.

  • 기본적으로 임시 방향을 되돌려줍니다.전달 permanent=True 은 영구적인 방향을 되돌릴 수 있다.
    Django 1.7     :
    
          URL    。

    예제
    너는 여러 방식으로 redirect() 함수를 사용할 수 있다.
    대상을 전달하기;리디렉션된 URL을 보려면 get_absolute_url() 메서드가 호출됩니다.
    from django.shortcuts import redirect
    
    def my_view(request):
        ...
        object = MyModel.objects.get(...)
        return redirect(object)

    하나의 보기의 이름을 전달함으로써 위치 파라미터와 키워드 파라미터를 가지고 있을 수 있다.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으로 설정하면 영구적인 리디렉션이 반환됩니다.
    def my_view(request):
        ...
        object = MyModel.objects.get(...)
        return redirect(object, permanent=True)

    getobjector_404 get_object_or_404(klass, *args, **kwargs)[source]
    주어진 모델 관리자에 get()을 호출했지만 Http404이 모델의 DoesNotExist이 아닌 이상을 일으켰다.
    필수 매개변수klass
    이 대상의 Model류, Manager 또는 QuerySet 실례를 얻습니다.**kwargs
    조회의 매개 변수는 get()filter()에서 받아들일 수 있습니다.
    예제
    다음 예제에서는 MyModel에서 키 1을 사용하여 객체를 가져옵니다.
    from django.shortcuts import get_object_or_404
    
    def my_view(request):
        my_object = get_object_or_404(MyModel, pk=1)

    이 예는 다음과 같습니다.
    from django.http import Http404
    
    def my_view(request):
        try:
            my_object = MyModel.objects.get(pk=1)
        except MyModel.DoesNotExist:
            raise Http404("No MyModel matches the given query.")

    가장 흔히 볼 수 있는 용법은 Model을 전달하는 것이다. 위와 같다.그러나 당신은 QuerySet 의 실례를 전달할 수 있습니다.
    queryset = Book.objects.filter(title__startswith='M')
    get_object_or_404(queryset, pk=1)

    위의 예는 다음과 같기 때문에 약간 부자연스럽다.
    get_object_or_404(Book, title__startswith='M', pk=1)

    하지만 당신의queryset이 다른 곳에서 왔다면 아주 유용할 것입니다.
    마지막으로 당신은 관리자를 사용할 수 있습니다.사용자 정의 관리자가 있으면 다음과 같이 유용합니다.
    get_object_or_404(Book.dahl_objects, title='Matilda')

    연관된 관리자를 사용할 수도 있습니다.
    author = Author.objects.get(name='Roald Dahl')
    get_object_or_404(author.book_set, title='Matilda')

    주: get ()와 마찬가지로 여러 대상을 찾으면 MultipleObjectsReturned 이상을 일으킬 수 있습니다.
    getlistor_404 get_list_or_404(klass, *args, **kwargs)[source]
    주어진 모델 관리자의 Filter () 결과를 되돌려주고 결과를 목록으로 비추며, 결과가 비어 있으면 Http404로 되돌려줍니다.
    필수 매개변수klass
    이 목록의 Model, Manager 또는 QuerySet 실례를 얻습니다.**kwargs
    찾은 매개 변수는 get()filter()에서 받아들일 수 있습니다.
    예제
    다음 예제에서는 게시된 모든 객체를 MyModel에서 가져옵니다.
    from django.shortcuts import get_list_or_404
    
    def my_view(request):
        my_objects = get_list_or_404(MyModel, published=True)

    이 예는 다음과 같습니다.
    from django.http import Http404
    
    def my_view(request):
        my_objects = list(MyModel.objects.filter(published=True))
        if not my_objects:
            raise Http404("No MyModel matches the given query.")

    번역자: Django 문서 협동 번역팀, 원문: Shortcuts.
    본고는 CC BY-NC-SA 3.0 프로토콜로 발표되었으며 전재는 작가의 서명과 글의 출처를 보존해 주십시오.
    Django 문서 협동 번역팀은 일손이 부족해서 관심 있는 친구가 우리에 가입할 수 있습니다. 완전 공익적입니다.교류군: 467338606.

    좋은 웹페이지 즐겨찾기