在正式开始写代码之前,设置好开发环境是非常重要的。你要确保所有必须的组件都已安装好。本章将概述五个你需要了解的关键组件的设置和使用。清单如下:

  • 使用命令行
  • Python
  • Python包管理器pip虚拟环境
  • 集成开发环境(IDE),如果你选择使用的话
  • 版本控制系统(VCS), GIT

如果你已经安装了Python 2.7/3.4/3.5 和 Django 1.9/1.10,而且对这些技术很熟悉的话,你可以直接跳到Django基础章节。否则的话,请看下面关于不同组件的概览,了解它们的重要性,以及如何设置各种组件。

开发环境

设置开发环境是比较乏味的,也容易让人沮丧。它不是经常需要去做的事情。在下文中,我们将读者起步时需要用到的一些核心组件罗列出来,并教大家怎么安装。

凭经验来说,设置开发环境时将各个步骤记录下来是个好主意,因为说不定哪天你又需要重新设置一遍:也许你买了新电脑,也许别人请你帮忙在他们的电脑上设置开发环境。做好记录可以在将来节省很多时间。不要只看眼前!

2.1 Python

这本书要求你的电脑上已安装了2.7系列的Python——至少2.7.5版本以上,或者3.4+版本也没问题。

译者注:关于安装python和pip的教程网上很多,很容易找到,比如这个

不知道怎么使用Python?

如果你以前没有使用过Python,或者你想复习以下,我们强烈建议你阅读下面一个或多个教程:

这些教程能让你熟悉Python基础,这样就能开始用Django开发。并不是只有Python专家才能使用Django。Python非常了不起,如果你曾经学习过其他编程语言,你会很容易上手。

2.2 Python包管理器

Pip是一种python包管理器,让你可以通过安装各种python库来增强功能。

包管理器,是你电脑上的一个软件包,用于自动进行安装、更新、配置、删除包,而且不仅仅只针对python,也包括你的操作系统和一些其他环境。维护python包是相当痛苦的。大部分包都有依赖的包,这些包也要安装。而那些包可能会相互冲突或者要求特定的版本。另外,这些包的系统路径都要配置和维护。幸好pip可以搞定一切,让你高枕无忧。

用命令行pip试着运行它。如果该命令无法运行,说明还没有安装。

TODO pip安装

同时你也要确保Django和pillow(一种python图片处理库)已经安装。运行下面的命令:

$ pip install -U django==1.9.10
$ pip install pillow

2.3 虚拟环境 Virtual Environments

快要一切就绪了!但是,有一点需要指出,还存在一些缺陷。假如你有另外一个python应用需要不同版本的python,或者你想在保留Django1.9项目的同时切换到新版本的Django,应该怎么办?

解决方法就是运用虚拟环境virtual environments. 虚拟环境允许安装多个Python,它们各自的包也可以和谐共存。这是时下广泛使用的Python安装配置方法。

虽然虚拟环境不是强制安装的,但是强烈推荐。

译者注:虚拟环境安装配置的教程也很容易找到,比如这个

2.4 集成开发环境 IDE

虽然并非绝对必要,但是一个好的基于python的集成开发环境会在开发过程中提供很大的帮助。目前流行的IDE有Pycharm 和 PyDev (Eclipse IDE的一个插件)。Python Wiki 上有最新的python IDE清单。

找一个适合你的IDE,有些需要你购买许可证。

最理想的是选择一款集成了Django的IDE。

我们使用的是Pycharm,因为它支持虚拟环境,并且集成了Django。Pycharm的配置本书不再赘述,可以参照配置指南

2.5 代码仓库

还要指出的是,当你开发代码时,应该始终将代码储存再一个版本控制仓库中,比如SVN或者GIT。目前我们暂时不做详细解释,先马上开始开发一个Django程序。后面有一个GIT速成课的章节供读者参考。我们强烈建议你为你自己的项目建立一个Git仓库。

练习

为了熟悉开发环境,尝试下面的练习:

  • 安装Python 2.7.5+/3.4+ 和 Pip
  • 用命令行工具创建一个叫做code的目录,用来在其中创建我们的项目
  • 设置你的虚拟环境(可选)
  • 安装Django和Pillow包
  • 如果还没有在代码仓库网站(如GitHub, BitBucket 等)建立过账户,建立一个
  • 下载并配置一个集成开发环境,比如Pycharm

如前所述,可以使用我们的GitHub仓库储存的本书源代码

如果你找到任何错误或问题,请通过在GitHub上请求更改来让我们知道。

如果你在练习中遇到任何困难,请查看仓库中的源代码,看我们是怎么做的。

Tango with django 1.9 中文——2.准备工作的更多相关文章

  1. Tango with Django 1.9 中文——1.概述

    译者注:英文书地址https://leanpub.com/tangowithdjango19/,作者为Leif Azzopardi 和 David Maxwell.本文仅为尝试.学习和交流,著作权利归 ...

  2. Tango with django 1.9 中文——3.Django基础

    让我们开始运用Django.本章主要是给你一个关于创建新项目和新应用过程的概览.在本章的末尾,你将建立起一个简单的由Django驱动的网站. 3.1 配置测试 让我们测试以下你的Python和Djan ...

  3. 【翻译】How To Tango With Django 1.5.4 第五章

    5数据模型和数据库 一个模型就是一个描述你数据表的python对象.不用再通过SQL来操作数据库,而是使用python对象来操作数据库. 5.1rango要求 ...一个目录下面有多个下面 ...一个 ...

  4. Django REST FrameWork中文教程2:请求和响应

    从这一点开始,我们将真正开始覆盖REST框架的核心.我们来介绍几个基本的构建块. 请求对象REST框架引入了Request扩展常规的对象HttpRequest,并提供更灵活的请求解析.Request对 ...

  5. Django REST framework 中文教程1:序列化

    建立环境 在我们做任何事情之前,我们将使用virtualenv创建一个新的虚拟环境.这将确保我们的包配置与我们正在开展的任何其他项目保持良好的隔离. virtualenv envsource env/ ...

  6. django JsonResponse返回中文时显示unicode编码(\u67e5\u8be2)

    django JsonResponse返回中文时显示unicode编码(\u67e5\u8be2) 关注公众号"轻松学编程"了解更多. 原因 这个unicode编码,是python ...

  7. Django 后台支持中文方法

    今天遇到的一个问题,mark一下: django后台可以支持中文界面,一开始一直纠结于settings.py 中 LANGUAGE_CODE = 'en-us'中的'en-us'该更改成什么.zh-c ...

  8. Django导出excel中文乱码解决方案

    Django官方文档有关于怎么生成csv文件的方法 import csv from django.http import HttpResponse def some_view(request): # ...

  9. [TimLinux] django 下载功能中文文件名问题

    from django.utils.encoding import escape_uri_pathfrom django.http import HttpResponse def download(r ...

随机推荐

  1. 翻译:《实用的Python编程》README

    欢迎光临 大约 25 年前,当我第一次学习 Python 时,发现 Python 竟然可以被高效地应用到各种混乱的工作项目上,我立即被震惊了.15 年前,我自己也将这种乐趣教授给别人.教学的结果就是本 ...

  2. vue后台管理系统遇到的注意事项以及总结

    地址栏加#号问题:Vue-router 中有hash模式和history模式,vue的路由默认是hash模式,一般开发的单页应用的URL都会带有#号的hash模式第一步在router/index.js ...

  3. 【洛谷 p3381】模板-最小费用最大流(图论)

    题目:给出一个网络图,以及其源点和汇点,每条边已知其最大流量和单位流量费用,求出其网络最大流和在最大流情况下的最小费用. 解法:在Dinic的基础下做spfa算法. 1 #include<cst ...

  4. Codeforces Round #650 (Div. 3) C. Social Distance

    题目链接:https://codeforces.com/contest/1367/problem/C 题意 给出一个长为 $n$ 的 $01$字符串,两个相邻 $1$ 间距应大于 $k$,初始序列合法 ...

  5. k倍区间(解题报告)前缀和简单应用

    测评地址 问题 1882: [蓝桥杯][2017年第八届真题]k倍区间 时间限制: 1Sec 内存限制: 128MB 提交: 351 解决: 78 题目描述 给定一个长度为N的数列,A1, A2, . ...

  6. dict与set -- Python

    dict(字典):用空间换取时间,占据空间大,但查询速度快,键值对(key:value),key唯一 d = {'Michael': 95, 'Bob': 75, 'Tracy': 85} 由于一个k ...

  7. FZU2105 Digits Count(按位建线段树)题解

    题意: 给出区间与.或.异或\(x\)操作,还有询问区间和. 思路: 因为数比较小,我们给每一位建线段树,这样每次只要更新对应位的答案. 与\(0\)和或\(1\)相当于重置区间,异或\(1\)相当于 ...

  8. 计蒜客 第四场 C 商汤科技的行人检测(中等)平面几何好题

    商汤科技近日推出的 SenseVideo 能够对视频监控中的对象进行识别与分析,包括行人检测等.在行人检测问题中,最重要的就是对行人移动的检测.由于往往是在视频监控数据中检测行人,我们将图像上的行人抽 ...

  9. HDU 3920 Clear All of Them I(状压DP)题解

    题意:2n个点,一个起点,开n枪,每枪必须打两个点,花费为起点到其中一点距离加上两点距离.问打完2n个点的最小花费. 思路:很显然应该dp状态,然后枚举i j两个空位置去填,那么复杂度$O(20 * ...

  10. Makefile 赋值 函数定义 等小知识点

    1.赋值 == 到用的时候实际才去赋值:= 立刻赋值?= 未赋值才赋值+= 2.多层变量 多层变量引用(各种复杂组合...)a =bb= cc= dd =1$($($($(a)))) 最终等于1 3. ...