VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > Python基础教程 >
  • 新手学习Django的十条注意点(2)


从RequestContext里还可以获取到当前用户等信息

4,不要将业务逻辑代码写到视图里

不要迷惑,虽然你可能看过很多书和例子,它们把逻辑都写在了views.py里,但请你别这么做。因为这样不利于单元测试,不利于重用代码。

那我的业务逻辑应该放哪里呢?推荐放到模型里或者单独建立一个辅助(helper)模块。

当然,从模型得到一个Author,获取Author列表的代码是可以放到视图里面的。

5,部署时别忘记将DEBUG设置成False

我们常常忘记在部署时禁用DEBUG,有很多种方法自动来处理这个配置:

1
2
3
4
5
6
import socket 
  
if socket.gethostname()== 'productionserver.com'
    DEBUG= False
else
    DEBUG= True


另一种途径是使用不同的配置文件:

1
2
3
4
5
6
7
8
9
10
#文件名:settings_debuy.py
#包含调试模式的配置信息
#http://www.pythontab.com
#使用python manage.py runserver settings=settings_debug.py来运行项目
  
from settingsimport *
  
DEBUG= True
  
#还可以配置更多在调试时使用的变量:)


6,只加载一次自定义的模板标签

当需要使用自定义或者第三方的模板标签和模板过滤器时,通常要在模板中使用:

1
{% load template_tags%}


实际情况是,需要在所有用到自定义模板标签和模板过滤器的模板中都使用上面的代码,这样就不DRY了。

1
2
from djangoimport template 
template.add_to_builtins('app.templatetags.custom_tag_module')


请将以上代码放到项目启动时能加载的模块中(settings.py, urls.py, models.py等)即可。

上面代码的作用是在项目启动时就把自定义模板标签或过滤器加载进来,模板中任何一个地方都可以使用它们,而不需要{% load template_tags %}。

7,合理配置和使用URL

不要将URL全都配置在一个urls.py文件中,比如:

1
2
3
4
5
6
7
8
9
10
11
urlpatterns= patterns('', 
  url(r'^askalumini/question/$','.....registerInstitution',name='iregister'), 
  url(r'^askalumin/answer/$','someview.....',name='newmemberurl'), 
  url(r'^institution/member/$','someview.....',name="dashboardurl"), 
  url(r'^institution/faculty/$','editInstitute',name="editinstituteurl"), 
  url(r'^memeber/editprofile/$','editProfile',name="editprofileurl"), 
  url(r'^member/changepassword/$','changePassword',name="changepasswordurl"), 
  url(r'^member/forgotpassword/$','forgotPassword',name="forgotpasswordurl"), 
  url(r'^member/changepicture/$','changePicture',name="changepictureurl"), 
  url(r'^member/logout/$','memeberlogout',name="logouturl"), , 
)

相关教程