• 解决了好几天的关于django xadmin后台增加链接并执行函数的问题


    由于xadmin后台封装的完整性,想要在后台做一些改动对于新手来说还是有点困难,目前解决的第一个问题:

    在admin后台增加链接,使其改变上级签收状态

    如图

    点击签收按钮之后,改变其状态

    代码展示:

    1.增加新的一列作为链接

     # 显示新的一列为链接
        def qianshou(self, content):
            from django.utils.safestring import mark_safe
            return mark_safe("<a href='signNotice/%s'>签收</a>" % content.id) #content.id是当前记录对应的ID
    
        qianshou.short_description = '操作'

    主要是<a>标签的路径以及content.id的获取

    2.在Notice所在目录下建立urls.py的文件,添加路径

    添加路径:

    from django.conf.urls import url
    from . import views
    urlpatterns = [
        url(r'^noticesuperiorassign/signNotice/(d+)$',views.sign_notice, name='sign_notice')   #签收公告的路径
        ]

    别忘了在总的urls.py文件下添加路径

    url(r'^Notice/', include('Notice.urls', namespace='Notice')),

    3.在views.py中添加函数,调用adminx.py中的函数

    # 签收公告
    def sign_notice(Files,request):
        NoticeSuperiorAssignAdmin.qianshou_notice(request)
        return redirect('../')

    4.adminx.py中修改签收状态的函数

    # 签收公告
        def qianshou_notice(request):
            qs = NoticeSuperiorAssign.objects.get(id=request)
            qs.assign_notice_state = '2'
            qs.save()
  • 相关阅读:
    Grand Central Dispatch-thread pool pattern
    POSIX Threads
    Event-driven programming-main loop
    Data type-数据类型
    软件的动与静
    对封装好的视图进行动态修改
    编程语言进化
    Type system
    Run-time type information--RTTI
    Type system-Type checking
  • 原文地址:https://www.cnblogs.com/ttzz/p/10688816.html
Copyright © 2020-2023  润新知