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

  • 使用命令行
  • 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. Topo check failed. Mapred tasks exceed 1000000000

    Problem Description: java.sql.SQLException: EXECUTION FAILED: Task MAPRED-SPARK error SparkException ...

  2. zjnu1716 NEKAMELEONI (线段树)

    Description "Hey! I have an awesome task with chameleons, 5 th task for Saturday's competition. ...

  3. Codeforces Round #695 (Div. 2) C. Three Bags (贪心,思维)

    题意:有三个背包,每个背包里都用一些数字,你可以选择某一个背包的数字\(a\),从另外一个背包拿出\(b\)(拿出之后就没有了),然后将\(a\)替换为\(a-b\),你可以进行任意次这样的操作,使得 ...

  4. hdu4291 A Short problem

    Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission ...

  5. UVA-257 哈希算法

    UVA-257 题意: 给你很多串,你需要找到这个串内有没有两个长度大于3的回文字符串,且要保证这两个回文字符串不相同,也不能完全覆盖,但可以重合一部分 题解: 首先判断回文的话可以通过马拉车算法(M ...

  6. 金牛来到,福气来到——TcaplusDB新年放送

    光阴似箭,2020转瞬间成为历史,牛年的钟声即将敲响,在此,TcaplusDB祝大家新的一年万事如意,牛年带给我们的福气,一定能让我们心想事成! 饮水思源,回顾过去的一年,我们深知,TcaplusDB ...

  7. python 迭代器 iter多次消费

    问题 Python 中的迭代器是我们经常使用的迭代工具, 但其只能消费一次,再次消费便会出现 StopIteration 报错. 解决方案 封装了一个类,当迭代器使用完后再次初始化. 代码 class ...

  8. k8s-1-交付dubbo微服务

    一.Dubbo微服务概述 1.1: dubbo介绍 1.2: 部署内容 二.实验环境架构 2.1: 架构 1.1 架构图解 1.最上面一排为K8S集群外服务 1.1 代码仓库使用基于git的gitee ...

  9. C- c常见问题分析

    一.遇到undefined symbol怎么办: (1)首先解析未定义符号是什么:[利用c++filt命令] c++filt _ZN4Json5ValueixERKNSt7__cxx1112basic ...

  10. Kattis amazingadventures Amazing Adventures(费用流路径)题解

    题意: 在一个\(100*100\)的方格中,要求从\(b\)走到\(g\),途中经过\(c\)但不经过\(u\),并且不能走已经做过的路.如果可以,就求出路径. 思路: 拆点建费用流,看能不能从\( ...