博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[Django学习]如何得到一个App
阅读量:5909 次
发布时间:2019-06-19

本文共 692 字,大约阅读时间需要 2 分钟。

hot3.png

转载自

这个问题好象很简单,最简单的就是:

from myproj.apps.WhatApp import WhatModel

一般的例子也是这么写的。这里需要注意的是,我们可能把myproj的父目录设置到PythonPath中去了,因此,可以从myproj的父目录开始引用一个包,因此上面没有问题。

如果有人问,如果我不想使用myproj怎么办呢?因为这样与myproj目录关联太死了。我想的一个办法是,将myproj设置到PythonPath中去,这样上面的引用改为:

from apps.WhatApp import WhatModel

这样完全没有project目录了。

今天在 的邮件列表又看到一个方法,可能更好:

from django.db.models.loading import get_app

desired_app = get_app(‘desired_app’)
from desired_app.models import SomeModel

这是使用 django 提供的 get_app 的方法来实现的。因此这样就不需要考虑目录结构,完全是一种逻辑上的关系了。这种方法不错。当然除了 get_app 之外,如果是为了导入 model 还可以有其它的方法来更方便导入,如:

from django.db.models.loading import get_model

SomeModel = get_model(app_label, model_label)

转载于:https://my.oschina.net/memorybox/blog/74605

你可能感兴趣的文章
2013长沙 G Graph Reconstruction (Havel-Hakimi定理)
查看>>
[android] 手机卫士黑名单功能(列表展示)
查看>>
c3p0连接池配置
查看>>
对于I/O流中解压中遇到的问题
查看>>
问答项目---用户注册的那些事儿(JS验证)
查看>>
Android进阶篇-百度地图获取地理信息
查看>>
log4j2.xml 配置
查看>>
寻找字符最大公共子串
查看>>
返回前一页并刷新页面方法
查看>>
2.3 InnoDB 体系架构
查看>>
linux系统配置之单一网卡配置多个不同网段IP(centos)
查看>>
.erb 中不能显示从mysql检索出的中文 incompatible character encodings: UTF-8 and ASCII-8BIT...
查看>>
一个专门下载全球气象站数据的网站(包括中国700多个站)
查看>>
51nod 1831: 小C的游戏(Bash博弈 找规律)
查看>>
使用filezilla连接树莓派失败
查看>>
个人VI
查看>>
虚拟机安装的ubutun全屏
查看>>
QT移植到海思平台上步骤
查看>>
[转载] ubuntu下定制Vim/Gvim及使用技巧
查看>>
LIS LCS n^2和nlogn解法 以及LCIS
查看>>