相关疑难解决方法(0)

只使用Django的某些部分?

我喜欢Django,但是对于特定的应用程序我只想使用它的一部分,但是我对Django在内部的工作方式不太熟悉,所以也许有人可以指出我正确的方向,我有什么查看.

具体来说,我想使用:

  • 模型和数据库抽象
  • 缓存API,但我想避免通过缓存数据库查询,而不是HTML生成,并且由于在Django的缓存框架适用于后者,我不知道是否还没有这真的合适.

不会用:

  • 模板
  • urlconfigs

或者,更确切地说,我既不使用HTTP也不使用HTML.所以基本上,我有一个不同于通常的输入/输出链.

这可以吗?

我在Django中的个人杀手功能是我可以对模型进行的对象/数据库映射,所以如果有另一种技术(不必是Python,我正处于设计阶段,我对语言非常不可知)平台)给了我相同的能力,这也很棒.

python django

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

在运行时动态加载django应用程序

是否可以在运行时动态加载django应用程序?通常,应用程序在初始化时使用settings.py中的INSTALLED_APPS元组加载.但是,是否可以在运行时加载其他应用程序?我在不同情况下遇到这个问题.例如,在测试期间,当我想动态加载或卸载应用程序时,会出现一种情况.

为了使问题更具体,想象一下我有一个目录apps,我把我的应用程序放在哪里,我想自动安装任何进入那里的新应用程序,而无需手动编辑settings.py.

这很容易.按照示例代码进行操作

Django:动态添加应用程序作为插件,自动构建网址和其他设置

我们将以下代码放入settings.py可以循环遍历app目录中所有子目录的名称,并像这样增加INSTALLED_APPS元组settings.py:

APPS_DIR = '/path_to/apps/'

for item in os.listdir(APPS_DIR):
    if os.path.isdir(os.path.join(APPS_DIR, item)):
        app_name = 'apps.%s' % item
    if app_name not in INSTALLED_APPS:
        INSTALLED_APPS += (app_name, )
Run Code Online (Sandbox Code Playgroud)

在那之后,如果我在django shell中,我可能会喜欢

from django.conf import settings
Run Code Online (Sandbox Code Playgroud)

并且应用程序将列在settings.INSTALLED_APPS.如果我做了

from django.core import management
management.call_command('syncdb', interactive=False)
Run Code Online (Sandbox Code Playgroud)

这将为应用程序创建必要的数据库表.

但是,如果我现在要在apps/目录中添加更多应用程序而不重新启动,则这些应用程序不会在settings.INSTALLED_APPS中列出,因此后续调用syncdb将无效.

我想知道的是,如果有什么我可以做 - 没有重新启动---重新加载设置和加载/安装新的应用程序.

我试图直接导入我的settings.py,即从myproject导入设置

然后reloadsettings使用任何内置后的蟒蛇app目录更改.虽然现在更改了settings.INSTALLED_APPS以包含新添加的应用,但这最终没有任何区别.例如,

from django.db import models
models.get_apps()
Run Code Online (Sandbox Code Playgroud)

仅显示原始应用程序,apps而不是新添加的应用程序

management.call_command('syncdb', …
Run Code Online (Sandbox Code Playgroud)

python django django-apps django-settings

14
推荐指数
3
解决办法
6938
查看次数

使用django进行CLI工具

使用Django框架开发命令行界面工具有什么意义吗?在我的情况下,将没有任何图形界面.我可以使用它获得什么好处?或者您可能知道CLI的任何其他有用的框架?我想强调用REST API发出HTTP请求.

更新:谢谢你们!我想使用REST API而不是在我的工具中创建它.

python django frameworks command-line-interface

7
推荐指数
1
解决办法
3963
查看次数