Django实践笔记

2020-07-06 00:00:00 视图 项目 环境 配置 模版

本文以Python的Web框架Django为例,整理下做从零开始到一个成型的网站所涉及到内容,目的不是教你如何一步一步搭建项目,而是让你对Django的良好实践有个大概的了解。虽然很久没用Django,但还是想把以前整理的笔记分享给初学者,供参考。

Django资源

Django英文文档

Django中文文档

awesome-django

Tango with Django

Django Reddit

Build a Django Blog

《django by examples》

环境

开发环境是项目开始前就必须要准备好的事,这里的开发环境包括了下面的几个要素:

  1. 操作系统环境主流的操作系统环境分别有Linux,OS X,Windows,这其中不同的操作系统的差异也不少,尤其是Windows系和*nix系。

  2. 开发环境开发环境指的则是开发工具的组合,例如nginx+gunicorn+virtualenv。

  3. 版本环境这里代表了开发工具的版本环境,例如Python 2.x和3.x,Django 1.4和1.9。

要保证开发的正确性,很重要的一点就是要维持环境的一致性,尤其是在多人协作的时候,不同的环境有可能导致运行正确性的不一致。

可以得出,一个好的环境需要三个要素:

  1. 隔离性

  2. 一致性

  3. 可配置性

下面是针对环境问题的几个解决方案:

虚拟机

虚拟机使得电脑可以实现模拟出完全隔离环境的操作系统,可以做到在一个系统中直接运行多个虚拟的操作系统,流行的虚拟环境有VMWare,Virtual Box等等。

Vagrant

Vagrant是一个用来创建和部署虚拟操作环境的工具,本质上它使用了虚拟机作为虚拟化的实现,但它比传统虚拟机有更灵活的配置项,使得开发环境的配置更简单。

Docker

Docker是一个容器引擎,可以轻松地创建和配置一个应用的隔离系统环境,而且可以发布到任意机器上,保持环境的一致性,相比于虚拟机,它具有轻量级和启动快的优势。

Virtualenv

Virtualenv可以用来创建一个相对隔离的Python运行环境。

Pyenv

Pyenv是用来管理Python版本的一个工具。

编码风格

PEP8

PEE8是Python官方建议的编码风格,里面包含了一系列的编码规范。

Flake8

Flake8是检查Python代码健壮性的一个工具,它包括了PyFlake,pep8等,并提供了更清晰的接口。

项目结构

当用django-admin startproject [projectname] .时,加上virtualenv目录后,会得到如下的目录结构:

[projectname]/
├── [projectname]/
│   ├── __init__.py
│   ├── settings.py
│   ├── urls.py
│   └── wsgi.py
├── manage.py
└── venv

相关文章