Py学习  »  Django

如何准备django项目以备将来的更改

thornomad • 5 年前 • 1774 次点击  

为未来做准备:

考虑到这一点,人们对我如何准备代码有什么建议吗 现在 作为 面向未来

你希望当初你做了什么,现在你的网站已经开始运行了,这会让你的生活更轻松?

我学到的一些小东西(示例):

  • datetime.datetime.utcnow() )
  • South 以帮助将来的数据库更改(尚未完成,但似乎明智)
  • 在我的模板中不是硬代码链接(使用 get_absolute_url() 和反向查找)
  • tools 应用程序包含可重用的小模板标记和实用程序函数,我可能希望在将来的项目中使用它们(以后不需要将它们分离)

这些都是小提示,有些直接来自django文档,但我认为它们有帮助。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/53885
 
1774 次点击  
文章 [ 5 ]  |  最新文章 5 年前
S.Lott
Reply   •   1 楼
S.Lott    15 年前

“会有事情发生,我希望早点实施”

这就是好网站的定义。进化者进化和改变的人。

“未来准备好了吗?”

总会有变化的。这对你以前的技术选择总是毁灭性的。

除了拒绝参与新技术之外,你不能阻止、阻止甚至减少变化的影响。

jcdyer
Reply   •   2 楼
jcdyer    15 年前

听James Bennett:阅读实用的Django项目,跟随 http://b-list.org/ . 在youtube上搜索他关于可重用应用程序的djangocon谈话。读他的代码(在比特桶上)。

我从他那里得到了一个建议:对视图的依赖注入将使你的应用程序更加可重用。一个具体的例子重构这个特定于情况的视图:

def user_login_view(request):
    context = {
        'login_form': forms.LoginForm
    }
    return render_to_response('accounts/login.html', context)

def user_login_view(request, form=models.LoginForm, template_name='accounts/login.html'):
    context = {
        'login_form': form,
    }
    return render_to_response(template_name, context)

更好的方法是,给你的视图起一个类似“form_view”的通用名,将你的表单重命名为“form”而不是“login_form”,并明确地传递你的参数。但是这些改变改变了功能,因此不是一个纯粹的重构。一旦你重构了,你就可以开始增量地改变其他事情。

Dominic Rodger
Reply   •   3 楼
Dominic Rodger    15 年前

使用从Django的svn存储库中签出的Django,而不是在创建Django应用程序时为您安装的任何主机,因此您可以通过运行 svn up .

svn向上 .

Paul McMillan
Reply   •   4 楼
Paul McMillan    15 年前

从一开始就学习和使用South,因此当您进行重大的DB模式更改时,您将拥有一个迁移工具。否则,您会发现,在尝试如何移植数据时,您将同时运行两个版本,这会变得非常混乱。

http://south.aeracode.org/

Edward Dale
Reply   •   5 楼
Edward Dale    15 年前