Django学习

Posted 功不是凭梦想和希望,而是凭 努力和实践。

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Django学习相关的知识,希望对你有一定的参考价值。

一、djangoadmin

- change_form_template = groupsend/group_form.html #修改当前的模版
- filter_vertical = (questionnaire,)  #多对多显示时,数据移动选择(方向:上下显示)
- filter_horizontal = (questionnaire,)  #多对多显示时,数据移动选择(方向:左右显示)
- fields   #详细页面时,需要显示的内容
- list_display = ("stem",type,"option_A","option_B",questionnaire,) #显示可定制的列
- search_fields = (name,) #显示可搜索的列
- actions =[func,] #批量执行操作
    def func(self,request,queryset):
        print request
    func.short_description = 批量删除
    actions = [func,]
- list_display_links = (name,) #提供一个超链接,让跳转到form_change可编辑页面
- list_editable = (status,)   # 定制可编辑的列
- fields = (name,start_datetime,end_datetime,status,)  #详细页面(点击添加时)显示需要的列
- readonly_fields = (name,status) #详细页面时显示只读字段
1、save_model(request,obj,form,change):此方法为admin界面用户保存model实例时的行为。
    参数说明:
        request为HttpResponse实例
        obj为model实例
        form为ModelForm实例
        change为bool值,取决于model实例是新增的还是修改的。
    e.g:可以吧request.user保存为model实例的属性
        form django.contrib import admin
        class ArticleAdmin(admin.ModelAdmin):
            def save_model(request,obj,form,change):
                obj.user = request.user
                obj.save()
2、delete_model(request,obj):admin界面用户删除model实例的方法
3、get_ordering(request):排序
    e.g:    
        class get_ordering(admin.ModelAdmin):
            if request.user.is_superuser:
                return [name,rank]
            else:
                return [name]
4、get_readobly_fields(request,obj=None):返回只读字段

 

二、from django.views.decorators.http import require_GET

django.views.decorators.http:根据请求方法,装饰器可用于限制对视图的访问
    Django提供了几个可用于视图的装饰器,以支持各种HTTP功能
    e.g1:装饰者要求视图只接受特定的请求方法。用法:
        from django.views.decorators.http import require_http_methods

        @require_http_methods(["GET", "POST"])
        def my_view(request):
            # I can assume now that only GET or POST requests make it this far
            # ...
            pass
    e.g2:如果只要求视图只接受GET请求,也可直接导入require_GET
        from django.views.decorators.http import require_GET
        @require_GET
        def my_view(request):
            pass
    require_GET()
    装饰者要求视图只接受GET方法。

    require_POST()¶
    装饰者要求视图只接受POST方法。

    require_safe()¶
    装饰者要求视图只接受GET和HEAD方法。这些方法通常被认为是“安全的”,因为除了检索请求的资源之外,它们不应具有采取行动的意义。

 

以上是关于Django学习的主要内容,如果未能解决你的问题,请参考以下文章

django.core.exceptions.ImproperlyConfigured: Requested setting DEFAULT_INDEX_TABLESPACE的解决办法(转)(代码片段

Django REST框架--认证和权限

如何在 Django 中显式重置模板片段缓存?

使用 Django 模板作为片段

python 通过django片段很多很多

IOS开发-OC学习-常用功能代码片段整理