码迷,mamicode.com
首页 > 其他好文 > 详细

Django之view

时间:2020-04-24 16:03:22      阅读:80      评论:0      收藏:0      [点我收藏+]

标签:das   div   调用   永久   方法   rman   rmi   lis   time   

# 视图的基础函数——HttpResponse
from django.http import HttpResponse
def current_datetime(request):
    now = datetime.datetime.now()
    html = "<html><body>It is now %s.</body></html>" % now
    return HttpResponse(html)
# 视图的快捷函数——render
from django.shortcuts import render
def my_view(request):
    ...
    return render(request, template.html, {"foo": "bar"},content_type="application/xhtml+xml")
# 这个示例等同于:
from django.http import HttpResponse
from django.template import RequestContext, loader
def my_view(request):
    ...
    t = loader.get_template(template.html)
    c = RequestContext(request, {foo: bar})
    return HttpResponse(t.render(c),content_type="application/xhtml+xml")
# 视图的快捷函数——render_to_response    
from django.shortcuts import render_to_response
def my_view(request):
    ...
    return render_to_response(myapp/index.html, {"foo": "bar"},content_type="application/xhtml+xml")
# 视图的快捷函数——redirect
你可以用多种方式使用redirect() 函数。
# 通过传递一个对象;将调用get_absolute_url() 方法来获取重定向的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)
# 视图的快捷函数——get_object_or_404
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
from django.shortcuts import get_list_or_404
def my_view(request):
    my_objects = get_list_or_404(MyModel, published=True)
# 内置错误视图

在根目录的urls.py中增加最下面四行即可
from django.views import defaults
urlpatterns = [
        url(r^admin/, admin.site.urls),
        url(r^push/,include(push.urls)),
        url(r^blog/,include(blog.urls)),
        url(r^accounts/login/$, auth_views.login),
]+ static(settings.STATIC_URL, document_root = settings.STATIC_ROOT)

handler404=defaults.page_not_found
handler500=defaults.server_error
handler403=defaults.permission_denied
handler400=defaults.bad_request

 

Django之view

标签:das   div   调用   永久   方法   rman   rmi   lis   time   

原文地址:https://www.cnblogs.com/wangbin2188/p/12767879.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!