转自: http://shinyzhu.iteye.com/blog/593427
1,不要将项目名称包含在引用代码里
比如你创建了一个名为"project"的项目,包含一个名为"app"的应用,那么如下代码是不好的:
- from project.app.models import Author
缺点在于:应用和项目变成了紧耦合,无法将应用轻易变得可重用。如果将来要换一个项目名称,那你可有得受了。
推荐的做法是:
- from app.models import Author
请注意,你需要将项目的路径配置在PYTHONPATH中。
2,不要硬编码MEDIA_ROOT和TEMPLATE_DIRS
项目配置文件settings.py中不要使用如下代码:
- TEMPLATE_DIRS = ( "/home/html/project/templates",)
- MEDIA_ROOT = "/home/html/project/appmedia/"
当你在部署到生产环境,或者迁移服务器的时候,就会发生问题。
推荐使用如下方式:
- SITE_ROOT = os.path.realpath(os.path.dirname(__file__))
- MEDIA_ROOT = os.path.join(SITE_ROOT, 'appmedia')
- TEMPLATE_DIRS = ( os.path.join(SITE_ROOT, 'templates'),)
(也可以使用abspath,跟realpath的区别请参考http://rob.cogit8.org/blog/2009/May/05/django-and-relativity-updated/ )
3,不要将静态文件的路径硬编码在模板中
模板中链接CSS,javascript或图片的时候,不建议使用如下方式:
- <link rel="stylesheet" type="text/css" href="/appmedia/amazing.css" />
- <script type="text/javascript" src="/appmedia/jquery.min.js"></