Tango with django 1.9 中文——2.准备工作
在正式开始写代码之前,设置好开发环境是非常重要的。你要确保所有必须的组件都已安装好。本章将概述五个你需要了解的关键组件的设置和使用。清单如下:
- 使用命令行
- 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,或者你想复习以下,我们强烈建议你阅读下面一个或多个教程:
- Learn Python in 10 Minutes, Stavros著;
- The Official Python Tutorial;
- Think Python: How to Think like a Computer Scientist, Allen B.Downey著;
- Learn to Program, Jennifer Campbell 和 Paul Gries著。
这些教程能让你熟悉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.准备工作的更多相关文章
- Tango with Django 1.9 中文——1.概述
译者注:英文书地址https://leanpub.com/tangowithdjango19/,作者为Leif Azzopardi 和 David Maxwell.本文仅为尝试.学习和交流,著作权利归 ...
- Tango with django 1.9 中文——3.Django基础
让我们开始运用Django.本章主要是给你一个关于创建新项目和新应用过程的概览.在本章的末尾,你将建立起一个简单的由Django驱动的网站. 3.1 配置测试 让我们测试以下你的Python和Djan ...
- 【翻译】How To Tango With Django 1.5.4 第五章
5数据模型和数据库 一个模型就是一个描述你数据表的python对象.不用再通过SQL来操作数据库,而是使用python对象来操作数据库. 5.1rango要求 ...一个目录下面有多个下面 ...一个 ...
- Django REST FrameWork中文教程2:请求和响应
从这一点开始,我们将真正开始覆盖REST框架的核心.我们来介绍几个基本的构建块. 请求对象REST框架引入了Request扩展常规的对象HttpRequest,并提供更灵活的请求解析.Request对 ...
- Django REST framework 中文教程1:序列化
建立环境 在我们做任何事情之前,我们将使用virtualenv创建一个新的虚拟环境.这将确保我们的包配置与我们正在开展的任何其他项目保持良好的隔离. virtualenv envsource env/ ...
- django JsonResponse返回中文时显示unicode编码(\u67e5\u8be2)
django JsonResponse返回中文时显示unicode编码(\u67e5\u8be2) 关注公众号"轻松学编程"了解更多. 原因 这个unicode编码,是python ...
- Django 后台支持中文方法
今天遇到的一个问题,mark一下: django后台可以支持中文界面,一开始一直纠结于settings.py 中 LANGUAGE_CODE = 'en-us'中的'en-us'该更改成什么.zh-c ...
- Django导出excel中文乱码解决方案
Django官方文档有关于怎么生成csv文件的方法 import csv from django.http import HttpResponse def some_view(request): # ...
- [TimLinux] django 下载功能中文文件名问题
from django.utils.encoding import escape_uri_pathfrom django.http import HttpResponse def download(r ...
随机推荐
- ASP.Net Core 5.0 MVC 配置文件读取,Startup 类中ConfigureServices 方法、Configure 方法的使用
配置文件读取 1. 新建FirstController控制器 在appsettings文件内容替换成以下代码 { "Position": { "Title": ...
- Codeforces Round #627 (Div. 3) C - Frog Jumps(逻辑)
题意: 有一个每个单元标明移动方向的长为n的序列,每次移动不能超过距离k,问能够从0移动到n+1的k的最小值. 思路: k=最长连续L序列长度+1. #include <bits/stdc++. ...
- 矩阵树定理(Kirchhoff || Laplace)初探——Part 1(无向图计数)
必备知识: 高斯消元,图论基本知识(好像就这...(雾)) 这里是无向图部分,请不要走错场... 定义 我们将邻接矩阵定义为矩阵\(A(u,v)\),我想邻接矩阵就不用再多说了: 我们将每个点的度数矩 ...
- AtCoder Beginner Contest 168
比赛链接:https://atcoder.jp/contests/abc168/tasks A - ∴ (Therefore) 题意 给出一个由数字组成的字符串 $s$,要求如下: 如果 $s$ 以 ...
- P4074 [WC2013]糖果公园 树上莫队带修改
题目链接 Candyland 有一座糖果公园,公园里不仅有美丽的风景.好玩的游乐项目,还有许多免费糖果的发放点,这引来了许多贪吃的小朋友来糖果公园游玩. 糖果公园的结构十分奇特,它由 nn 个游览点构 ...
- Codeforces Round #643 (Div. 2) 题解 (ABCDE)
目录 A. Sequence with Digits B. Young Explorers C. Count Triangles D. Game With Array E. Restorer Dist ...
- 【uva 1151】Buy or Build(图论--最小生成树+二进制枚举状态)
题意:平面上有N个点(1≤N≤1000),若要新建边,费用是2点的欧几里德距离的平方.另外还有Q个套餐,每个套餐里的点互相联通,总费用为Ci.问让所有N个点连通的最小费用.(2组数据的输出之间要求有换 ...
- Codeforces Round #307 (Div. 2) B. ZgukistringZ
Professor GukiZ doesn't accept string as they are. He likes to swap some letters in string to obtain ...
- 01背包记录路径 (例题 L3-001 凑零钱 (30分))
题意: 就是找出来一个字典序最小的硬币集合,且这个硬币集合里面所有硬币的值的和等于题目中的M 题解: 01背包加一下记录路径,如果1硬币不止一个,那我们也不采用多重背包的方式,把每一个1硬币当成一个独 ...
- 洛谷P1144-最短路计数-最短路变形
洛谷P1144-最短路计数 题目描述: 给出一个\(N\)个顶点\(M\)条边的无向无权图,顶点编号为\(1-N\).问从顶点\(1\)开始,到其他每个点的最短路有几条. 思路: \(Dijkstra ...