`

【备忘】Django 常用命令及最佳实践

 
阅读更多

注意:本文基于 Django 1.8.2 版本

 

生成数据库迁移脚本(python 脚本)

python manage.py makemigrations polls

 说明:polls 是你的应用名字,运行该命令时需要根据你的应用名字进行调整

 

查看该次迁移需要执行的 SQL 语句(只查看语句,并不应用到数据库上):

python manage.py sqlmigrate polls 0001  

说明:polls 是你的应用名字,0001是数据库迁移脚本的序号,运行该命令时需要根据你的应用名字及数据库迁移脚本的序号进行调整

 

进行数据库迁移:

python manage.py migrate

说明:该命令会执行真正的数据库迁移,即执行上一个命令中的  SQL语句,以实现 Model 变更跟数据库的同步。

 

 

最佳实践:

  • 对于要赋值当前时间给字段类型为DateTimeField的字段时,用 timezone.now() 代替 datetime.datetime.now() (注意:需要导入 from django.utils import timezone)
  • 可以在model 对象上自定义__str__(Python3)或__unicode__(Python 2)方法,让直接输出model 时,更有意义,例如:
    def __str__(self):              # __unicode__ on Python 2
            return self.choice_text
  • 将每个 APP 自己的 URL 映射关系,放到 app 自己的目录下面的 urls.py 文件中(改文件需要自己创建),然后在项目的 urls.py 中将其 include 进来,而不要将所有的 URL 都写在项目的 urls.py 下面,更好的做法如下所示(下面例子中的 app 名称为 polls 和 admin):
    .....
    urlpatterns = [
        url(r'^polls/', include('polls.urls', namespace="polls")),
        url(r'^admin/', include(admin.site.urls)),
    ]
    .....
     
  • 当一个项目下面的 app 个数多过3个时,可以对项目目录的 urls.py 文件中通过 include 加入的 urls 增加namespace 属性,给APP 中的 urls.py 中的 url 增加name 属性来防止命名冲突,并且可以获得更好的灵活性,如下面的例子所示:
         项目目录下的 urls.py 内容为:
.....
urlpatterns = [
    url(r'^admin/', include(admin.site.urls)),
    url(r'^polls/', include('polls.urls', namespace="polls")),
]
 其中为 polls 的 app 增加了命名空间:namespace="polls"
 在 app 中的 urls.py 的内容为:
....
urlpatterns = [
    url(r'^$', views.index, name='index'),
    url(r'^(?P<question_id>[0-9]+)/$', views.detail, name='detail'),
    ......
]
 其中为首页和明细页面各自都添加了 name 属性。
 在页面中的用法如下: 
.....
<a href="{% url 'polls:detail' question.id %}">{{ question.question_text }}</a>
....
 
         注意到里面的命名方式了吗?polls:detail
  • 在你成功处理了 POST 提交上来的数据后之后,应该总是返回 HttpResponseRedirect 对象,如下所示:
    from django.http import HttpResponseRedirect
    
    ....
    def dealwith_post_data(request, args):
       ........
       return HttpResponseRedirect(...)
    ....
     
分享到:
评论

相关推荐

    Django常用DOS命令

    在Django框架的开发过程中,掌握一些常用的DOS命令能够极大地提高开发效率。这些命令主要在Windows操作系统下的DOS环境中执行,通过命令行界面进行操作。下面我们将详细介绍这些命令及其用途。 1. **新建Django项目...

    Django 最佳实践 - 中文版 (2009-06-17)

    Django 最佳实践文档作为Django开发指南,其重点在于指导开发人员如何高效地开发和维护Django项目。文档强调了一系列关于Django Web开发方面的最佳实践,这些规则建立在原有项目的理念上,旨在帮助开发者创建易于...

    Django常用命令

    Django常用命令集合 创建app 数据迁移 创建管理员等一系列常用命令

    django入门与实践.zip

    《Django入门与实践》这份资源是一份针对初学者的Python Web开发教程,重点介绍了Django框架的基础知识和实际应用技巧。Django是Python编程语言中最受欢迎的Web框架之一,以其“快速、可扩展且优雅”的特性深受...

    django最佳实践 html

    在Django框架中进行开发时,遵循最佳实践和标准至关重要,这不仅能提高代码质量,还能增强项目的可维护性和团队协作效率。"django最佳实践 html"的主题涵盖了如何建立一个高效的Django项目结构,以及遵循的流行标准...

    Django入门与实践教程1

    接下来,【创建项目】章节将介绍如何启动一个新的Django项目,这包括使用`django-admin startproject`命令创建项目结构,以及理解Django项目目录的布局。读者将学习如何运行开发服务器,初步体验Django项目的运行。 ...

    Django最佳实践(Two scoops of django1.11) 高清PDF【英文版】

    《Django最佳实践》(Two Scoops of Django 1.11)是一本专注于最新发布的Django框架1.11版本的最佳实践指南。这本书之所以成为Django开发者必须读的资料,是因为它不仅深入剖析了Django的内部机制,而且还提供了...

    实用的Django项目——Django项目实践 (Practical Django Projects)

    ### 实用的Django项目——Django项目实践(Practical Django Projects) 《实用的Django项目》这...通过阅读本书,读者可以掌握Django框架的核心概念,学习到最佳的开发实践,并获得构建高质量Web应用程序所需的技能。

    前端+django常用代码简介合集

    html前端+django常用代码用法简介,如何使用等 初学者绝对有用!!!

    最简单的django入门与实践开发

    Django遵循MVC(模型-视图-控制器)架构模式,以促进软件工程最佳实践。它被广泛应用于需要快速开发可靠Web应用的场景。在Django中,它自身将MVC划分为MTV模式,即模型(Models)、模板(Templates)、视图(Views)...

    python3 Django入门与实践

    标题《Python3 Django入门与实践》所指的是介绍Python语言开发的Django Web框架入门与实践的书籍。Django作为一个高级的Python Web框架,遵循MVC(模型-视图-控制器)架构模式,拥有强大、快速、安全等特点,适合...

    Python-Django材料管理系统实践

    在本项目中,"Python-Django材料管理系统实践"是一个基于Python的Django框架构建的内容管理系统(CMS),专门针对材料管理需求。这个系统包含了材料文件的导入、材料的出入库跟踪以及用户登录等核心功能,旨在提供一...

    python从入门到实践的django项目代码

    本项目旨在帮助初学者快速掌握Python和Django的基础,并通过实际项目实践来深化理解。 Django是一个开源的Web框架,遵循模型-模板-视图(Model-Template-View,MTV)的设计模式,它提供了许多开箱即用的功能,如ORM...

    django中的setting最佳配置小结

    在Django框架中,`settings` 文件是项目的核心配置,它定义了项目的各种行为和特性。下面我们将深入探讨一些最佳实践和常见配置...在实际开发中,不断学习和适应Django的最佳实践,将有助于提升项目的质量和可维护性。

    Django说明及示例

    - **最佳实践**:分享社区的最佳实践和技术方案。 #### 七、参与开源项目 ##### 1. 如何为Django贡献代码 - **提交补丁**:按照指南提交补丁文件。 - **参与社区活动**:参加各种线上线下的社区活动。 #### 八、...

    中文版django book Python web开发最佳指引

    本书不仅适用于初学者了解Django的基本概念和操作流程,还适合有一定经验的开发者深入理解Django的高级特性和最佳实践。 ### 一、Django介绍 Django是一个基于Python的开源Web框架,它遵循MVC(模型-视图-控制器)...

    python编程从入门到实践Django项目完整版

    此外,为了更深入地理解项目,你可以参考《Python编程从入门到实践笔记》这篇博文,其中可能涵盖了项目的详细步骤、遇到的问题及解决方案,有助于你在实践中学习和巩固知识。 在学习过程中,你还将接触到Django的...

    django入门与实践.pdf

    "Django入门与实践" 本文档提供了 Django 框架的入门和实践指南,涵盖了从基础到高级的知识点。下面是本文档的知识点摘要: 一、Django 介绍 * 什么是 Django?Django 是一个基于 Python 的免费开源 web 应用框架...

    精通Django.rar

    对于想要构建大型复杂应用的读者,书中可能还会涉及Django的高级特性和最佳实践,如多应用架构、用户认证和授权、权限控制、信号处理器、以及第三方库如DRF(Django Rest Framework)用于构建API。此外,可能会讲解...

Global site tag (gtag.js) - Google Analytics