[Django学习]如何得到一个App
2012-08-26 12:08
441 查看
转载自limodou的学习记录
[Django学习]如何得到一个App
这个问题好象很简单,最简单的就是:
from myproj.apps.WhatApp import WhatModel
一般的例子也是这么写的。这里需要注意的是,我们可能把myproj的父目录设置到PythonPath中去了,因此,可以从myproj的父目录开始引用一个包,因此上面没有问题。
如果有人问,如果我不想使用myproj怎么办呢?因为这样与myproj目录关联太死了。我想的一个办法是,将myproj设置到PythonPath中去,这样上面的引用改为:
from apps.WhatApp import WhatModel
这样完全没有project目录了。
今天在 django 的邮件列表又看到一个方法,可能更好:
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)
[Django学习]如何得到一个App
这个问题好象很简单,最简单的就是:
from myproj.apps.WhatApp import WhatModel
一般的例子也是这么写的。这里需要注意的是,我们可能把myproj的父目录设置到PythonPath中去了,因此,可以从myproj的父目录开始引用一个包,因此上面没有问题。
如果有人问,如果我不想使用myproj怎么办呢?因为这样与myproj目录关联太死了。我想的一个办法是,将myproj设置到PythonPath中去,这样上面的引用改为:
from apps.WhatApp import WhatModel
这样完全没有project目录了。
今天在 django 的邮件列表又看到一个方法,可能更好:
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)
相关文章推荐
- django学习笔记二:一个项目多个App项目搭建
- 在Django中如何正确完整地删除一个App
- Django(博客系统):基于pycharm如何一个django工程下创建多个app
- 【APP推广】一个全新App如何推广能够得到第一批种子用户?
- Django 开发学习笔记(2)- 请求一个自定义的路径,得到一个返回
- 一个PHPer如何深入学习ES搜索引擎?
- 如何学习一个新的PHP框架
- 如何从零开始学习一个框架
- 如何替换触屏去点击Android的一个App应用上的一个button
- 如何做一个iOS分形App
- android 4.4省电技术详解,如何开发一个省电的app
- 滴滴国际化项目 Android 端演进 2017-12-01 Java和Android架构 热文导读 | 点击标题阅读 厉害了!如何Python写一个安卓APP,附源码! 吊炸天!74款APP完
- selenium webdriver学习(六)------------如何得到弹出窗口
- Android 如何从一个APP中打开另外一个APP
- 【如何快速的开发一个完整的iOS直播app】(原理篇)
- 如何快速的开发一个完整的iOS直播app】(原理篇)
- 一个人一个微博、一个App一个故事:通过微博草根账号做英语学习App的“爱卡微口语”获晨脉创投天使投资
- solidworks二次开发学习(1)如何选中一个草图并遍历草图中的所有直线
- 经验分享:如何将一个想法变成一款手机APP。
- 如何学习一个新方向的知识?