如何将自定义用户设置的Django中间件添加为Python包?

问题描述 投票:1回答:1

我正在尝试创建Django中间件,通过添加其他数据来修改请求对象。我想打包这个中间件,以便它只需要以下步骤进行设置:

  1. 通过PIP安装
  2. 添加路线到MIDDLEWAREsettings.py
  3. 从某个配置文件中读取自定义用户设置。

我一直在寻找方法,但没有发现任何。有创建中间件包的指南,但没有正确包装它们以便分发。所以我有以下问题。

  1. 是否可以通过PIP安装中间件?
  2. 如果这是可能的,是否有一个好的cookiecutter式示例基于它?我尝试过(https://github.com/pydanny/cookiecutter-djangopackage),但是这假设软件包是一个独立的应用程序,对于包含单个类的软件包而言似乎有些过分。
  3. 允许用户自定义中间件对象行为的最佳方法是什么?理想情况下,我希望用户使用自定义行为传入callable,但我不确定用户可以在何处定义在实例化时传递到中间件的自定义设置/功能。

提前致谢。

python django pip middleware django-middleware
1个回答
1
投票

当然可以通过pip安装中间件。中间件类只是 - 一个标准的Python类 - 它可以位于任何地方,只要它位于Python路径上,即已安装的库。

你这里不需要任何类型的cookiecutter;那是应用程序和项目。

放置设置的最佳位置是在标准项目设置文件中,可以像django.conf.settings中的任何其他设置一样读取它们。

© www.soinside.com 2019 - 2024. All rights reserved.