社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Django

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

thornomad • 5 年前 • 1756 次点击  

为未来做准备:

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

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

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

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

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

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/53885
 
1756 次点击  
文章 [ 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 年前