码农行者 码农行者
首页
  • Python

    • 语言特性
    • Django相关
    • Tornado
    • Celery
  • Golang

    • golang学习笔记
    • 对比python学习go
    • 模块学习
  • JavaScript

    • Javascript
  • 数据结构预算法笔记
  • ATS
  • Mongodb
  • Git
云原生
运维
垃圾佬的快乐
  • 数据库
  • 机器学习
  • 杂谈
  • 面试
关于
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

DeanWu

软件工程师
首页
  • Python

    • 语言特性
    • Django相关
    • Tornado
    • Celery
  • Golang

    • golang学习笔记
    • 对比python学习go
    • 模块学习
  • JavaScript

    • Javascript
  • 数据结构预算法笔记
  • ATS
  • Mongodb
  • Git
云原生
运维
垃圾佬的快乐
  • 数据库
  • 机器学习
  • 杂谈
  • 面试
关于
收藏
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • Django 最佳实践-读书笔记 - 第一章 代码规范

    • 常规:
      • PEP 8 的规范
        • 导入模块:
          • 模块顺序:
          • 相对导入
          • 导入模块时,避免使用 *
        • django 中的代码规范
        • 开发语言
        • Python
        • Best.Practices.for.Django
        DeanWu
        2016-05-22
        目录

        Django 最佳实践-读书笔记 - 第一章 代码规范

        其他章节索引页

        # 核心理念

        • Keep It Simple, Stupid
        • Fat Models, Utility Modules, Thin Views, Stupid Templates
        • Start With Django by Default
        • Be Familiar with Django's Design Philosophies
        • The Twelve-Factor App

        # 第一章 代码规范

        # 常规:

        • 变量名,避免缩写
        • 写出你的函数参数名
        • 编写类和方法的 doc string
        • 评审你的代码
        • 提取重构重复使用的代码
        • 保持函数方法简短。一个好的原则,可以不滚动,看全这个函数方法。

        # PEP 8 的规范

        注:

        • 不要为了适应PEP8,改变已有项目的编码约定。

        • 在一个开源项目中,一行代码限定在 79 个字符长度;在自己私有的项目中,这个限定可放宽到99个字符。

        # 导入模块:

        # 模块顺序:

        • 标准库
        • django 核心库
        • 第三方 app
        • 自定义的 app

        example:

        # Stdlib imports
        from __future__ import absolute_import
        from math import sqrt
        from os.path import abspath
        # Core Django imports
        from django.db import models
        from django.utils.translation import ugettext_lazy as _
        # Third-party app imports
        from django_extensions.db.models import TimeStampedModel
        # Imports from your apps
        from splits.models import BananaSplit
        
        1
        2
        3
        4
        5
        6
        7
        8
        9
        10
        11

        # 相对导入

        # cones/views.py
        from __future__ import absolute_import
        from django.views.generic import CreateView
        # Relative imports of the 'cones' package
        from .models import WaffleCone
        from .forms import WaffleConeForm
        from core.views import FoodMixin
        class WaffleConeCreateView(FoodMixin, CreateView):
        model = WaffleCone
        form_class = WaffleConeForm
        
        1
        2
        3
        4
        5
        6
        7
        8
        9
        10

        # 导入模块时,避免使用 *

        # django 中的代码规范

        • url 名称使用下划线,不要使用横线
        • 在模板 block中,名称使用下划线,不要使用横线
        #Django#Django最佳实践
        上次更新: 2023/03/28, 16:27:19
        最近更新
        01
        chromebox/chromebook 刷bios步骤
        03-01
        02
        redis 集群介绍
        11-28
        03
        go语法题二
        10-09
        更多文章>
        Theme by Vdoing | Copyright © 2015-2024 DeanWu | 遵循CC 4.0 BY-SA版权协议
        • 跟随系统
        • 浅色模式
        • 深色模式
        • 阅读模式