【知乎答题计划】企业使用django一般会对哪些部分进行二次开发?

栏目: Python · 发布时间: 6年前

内容简介:每天抽点时间,力所能及地认真回答一两个问题。 欢迎关注、提问、邀请。知乎问题:在最早之前,我们是对 Django 自带的 Admin 做了深入开发,其实也是基于它原本的逻辑,定制了CAS 认证的部分和基础的模板。 再往后我们开始使用 xadmin ,直接替代了 Django 自己的 Admin,不过即便是使用了 xadmin 也需要进行定制开发。 不过无论是对于 Django 还是 xadmin 来说,都提供了对应的接口,可以让程序员直接进行定制。对于一个通用的(Web)框架来说,不可能满足所有的需求,定制

每天抽点时间,力所能及地认真回答一两个问题。 欢迎关注、提问、邀请。

知乎问题: 企业使用django一般会对哪些部分进行二次开发?

在最早之前,我们是对 Django 自带的 Admin 做了深入开发,其实也是基于它原本的逻辑,定制了CAS 认证的部分和基础的模板。 再往后我们开始使用 xadmin ,直接替代了 Django 自己的 Admin,不过即便是使用了 xadmin 也需要进行定制开发。 不过无论是对于 Django 还是 xadmin 来说,都提供了对应的接口,可以让 程序员 直接进行定制。对于一个通用的(Web)框架来说,不可能满足所有的需求,定制是不可避免的,就看定制的难度了。

这方面 Django 和 xadmin 做的都不错(对xadmin来说,可能你能读懂他的源代码后,会觉得,嗯,也是不错的)。 比方说题主说的中间件的部分,其实你看他的 Middleware 的实现就知道了,只需要实现对应的接口,也就是你的类实现了 _call_ 像这样:

class SimpleMiddleware:
    def __init__(self, get_response):
        self.get_response = get_response
        # One-time configuration and initialization.

    def __call__(self, request):
        # Code to be executed for each request before
        # the view (and later middleware) are called.

        response = self.get_response(request)

        # Code to be executed for each request/response after
        # the view is called.

        return response

在通过settings.py进行配置,就ok了。比较友好。

定时任务方面,Django 本身没有这个功能,我们用过的是跟 Celery 结合。不过多机部署需要注意,要自己加锁: Task Cookbook - Celery 4.2.0 documentation 保证每次只有一个定时任务执行。

另外还有比如你要做RESTFul 接口时可能需要用到的:django-rest-framework,以及做搜索时的 django-haystack 等。

二次开发是不可避免的,强大的框架应该提供友好的定制机制,以及丰富的生态。

- from the5fire.com

----EOF-----

微信公众号:Python程序员杂谈

【知乎答题计划】企业使用django一般会对哪些部分进行二次开发?

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Usability for the Web

Usability for the Web

Tom Brinck、Darren Gergle、Scott D. Wood / Morgan Kaufmann / 2001-10-15 / USD 65.95

Every stage in the design of a new web site is an opportunity to meet or miss deadlines and budgetary goals. Every stage is an opportunity to boost or undercut the site's usability. Thi......一起来看看 《Usability for the Web》 这本书的介绍吧!

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试

HEX HSV 转换工具
HEX HSV 转换工具

HEX HSV 互换工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具