django shortcut function

來源:互聯網
上載者:User

標籤:rtc   django   視圖   相對   title   尋找   代碼   The   模板引擎   

render()render(request, template_name, context=None, content_type=None, status=None, using=None)

必須參數

request:視圖接受到的requesttemplate_name:模板名稱

選擇性參數

context:上下文變數content_type:響應的MIME類型, 預設為DEFAULT_CONTENT_TYPE設定的值status:響應的狀態,預設為200using:用於載入模板的模板引擎
render_to_response()

棄用,不需要request參數的render()

render_to_response(template_name, context=None, content_type=None, status=None, using=None)redirect()redirect(to, permanent=False, *args, **kwargs)

將HttpResponseRedirect返回給傳遞的參數的適當URL。

參數可能是

  1. a Model,模型的get_absolute_url()方法將被調用
  2. a view name,可能帶有參數:reverse()將用於反向解析名稱。
  3. 絕對URL和相對URL

預設情況下發出臨時重新導向;傳遞permanent=True發出永久重新導向。

Examples

(1). a Model example

from django.shortcuts import redirectdef my_view(request):    ...    obj = MyModel.objects.get(...)    return redirect(obj)

(2). a view name example

通過傳遞視圖的名稱和一些位置或關鍵字參數(可選);URL將使用reverse()方法反向解析def my_view(request):...return redirect(‘some-view-name‘, foo=‘bar‘)

(3). An absolute or relative URL example

通過傳遞一個寫入程式碼URL重新導向到def my_view(request):    ...    return redirect(‘/some/url/‘)# 也可以寫成全路徑def my_view(request):    ...    return redirect(‘https://example.com/‘)
get_object_or_404()

調用get()方法 當沒有尋找到對象時拋出http404異常

from django.shortcuts import get_object_or_404 product = get_object_or_404(Product, pk=1)

相當與以下代碼

from django.http import Http404try:    product = Product.objects.get(pk=1)except MyModel.DoesNotExist:    raise Http404 

get_object_or_404(klass, *args, **kwargs)

參數:

klass:用於擷取對象的Model,Manage,Queryset執行個體**kwargs:用於get()和filter()查詢的條件參數
接收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)
接收自訂Managers
get_object_or_404(Book.dahl_objects, title=‘Matilda‘)
接收related Managers
author = Author.objects.get(name=‘Roald Dahl‘)get_object_or_404(author.book_set, title=‘Matilda‘)
get_list_or_404()
from django.shortcuts import get_list_or_404def my_view(request):    my_objects = get_list_or_404(MyModel, published=True)

相當於以下代碼

from django.http import Http404def my_view(request):    my_objects = list(MyModel.objects.filter(published=True))    if not my_objects:        raise Http404("No MyModel matches the given query.")

django shortcut function

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.