小编Ami*_*ari的帖子

在运行时更改Django设置

我想将一些(特定于应用程序的)设置暴露给管理界面,这样用户可以轻松地更改它们,也不必重新启动Django.

我该怎么办呢?

我查看了http://djangopackages.com/grids/g/live-setting/上的应用程序(btw django-constance是最吸引人的)但实际上所有这些应用程序正在做的是将值存储在数据库中,提供Web用于更改它们和缓存的界面.Django中已经内置了前两个功能吗?

我看到的最大缺点是没有任何应用程序是这些设置的旧位置(settings.py)的替代品,并且要求我迁移到他们的表示法,并且经常添加另一个上下文处理器以在模板中访问它们.

我不能这样做吗?

  1. 为我的设置创建一个模型(这给了我各种类型和验证)
  2. 实例化一个这样的对象来保存我的设置(这允许用户在管理界面中编辑它们) - 我可以将默认值转储为像其他模型一样的固定装置
  3. 包装settings.py所以它为我的设置进行数据库查询 - http://www.loose-bits.com/2011/04/extending-django-settings-with-derived.html

从我目前的天真观点来看,我看到的唯一缺点是:

  1. 添加或更改可用设置需要架构迁移(南).- 我可以忍受这一点.
  2. 我有一个可能有多个实例的模型,但实际上只需要一个单例. - 在某些时候,这实际上可能是一个有用的功能.
  3. 性能/缓存:查看http://code.djangoproject.com/svn/django/trunk/django/conf/我必须在设置包装器和/或模型中加入一点聪明,以便模型更改清除或更新缓存的值. - 似乎不是火箭科学.
  4. 在另一个项目中做同样的事情需要再次进行类似的努力. - 我认为settings.py中的单个字典常量,包含查找的模型名称和字段名称都是不同的.

这不是两个世界中最好的 - 运行时管理员(具有所有额外津贴),数据库后端,缓存,以及我的所有设置.USED_TO_BE_IN_SETTINGS_DOT_PY将需要任何更改.我错过了什么吗?

django settings runtime

47
推荐指数
3
解决办法
4万
查看次数

Django:测试成功加载静态文件

是否可以在Django自动测试中测试成功加载静态页面组件?

例如,使用Django的测试客户端,除了测试client.get('x').status_code为200,我想测试,如果所有页面的静态资源(与CSS和JS文件)加载成功.

如果不能使用client,是否有插件或补充测试系统,例如Selenium,以实现这种类型的测试?

python django automated-tests django-testing

8
推荐指数
1
解决办法
1808
查看次数

无法将bot连接到Bale messenger API:网络连接已断开连接

我正在尝试我的第一个机器人在贝尔信使,但我不能并且面对这个错误.这里有人帮我吗?

 2018-05-05 11:13:47,938  network.py:112  WARNING:"network connection disconnected."
 2018-05-05 11:13:47,939  network.py:36  ERROR:"connect error: 500,   message='Invalid response status'"
 Traceback (most recent call last): 
 File "/home/ehsan/PycharmProjects/example_bots/venv/lib/python3.5/site-packages/balebot/connection/network.py", line 31, in connect self._ws = await self._session.ws_connect(self.construct_url()) 
 File "/home/ehsan/PycharmProjects/example_bots/venv/lib/python3.5/site-packages/aiohttp/helpers.py", line 109, in __await__ ret = yield from self._coro
 File "/home/ehsan/PycharmProjects/example_bots/venv/lib/python3.5/site-packages/aiohttp/client.py", line 465, in _ws_connect
 headers=resp.headers) aiohttp.client_exceptions.WSServerHandshakeError: 500, message='Invalid response status'
Run Code Online (Sandbox Code Playgroud)

python bots websocket bale-messenger

3
推荐指数
1
解决办法
121
查看次数