持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第7天,点击查看活动详情
Django入门
Windows 安装 Django
Python官方仓库下载地址:https://pypi.python.org/pypi/Django
Django的版本大体分为三种:一种是长时期支持版本(Long Term Support,简称LTS),第二种是最新 版本,第三种是预览版,主要为愿意尝试新功能的用户使用。对于初学Django的读者笔者推荐使用第二种版 本。
Django的安装方式同样符合所介绍的几种安装方式。最简单的安装方式是通过pip安装, Django 网站同样推荐你以这种方式安装。
pip install django 或者:
pip3 install django 或者:
python3 -m pip install django
如果你只安装一个版本的Python,那么第一个命令即可成功后安装Django,后两个命令是在你同时安装 了Python2.x和Python3.x两版本的情况下,用于区别Python2.x。当然,对于不便上网的读者,也可以通过Django 官方网站或Python 官方仓库下载安装包安装。
Ubuntu 下安装Django
Linux 操作系统的版本很多,这里以流行的Ubuntu系统为例,介绍在其下面的安装过程。 因为Ubuntu系统本身对Python有很强的依赖,所以Ubuntu自带的就有Python。
当前在Ubuntu系统中已经同时集成了Python2与Python3,打开终端,输入“python”或“Python3”命 令回车,即可进入相应版本的Shell模式。
在Ubuntu 下Django的安装与Windows一样,这里不再说明。在Linux下开发Django同样是个不错的选 择,所以,推荐读者将本中的所有代码的编写和执行在Linux下进行。
开始第一个demo
按照惯例,我们应该先谈论一下什么是Web框架,以及Django的特性和架构。但对于新手来说,灌输这些概念并不能使我们真正的了解Django,所以,我们先通过一个简单的demo来体会Django是如何工作的。
操作环境:
Python 3.5 Django 1.9.7
(请一致,不要使用Django 最新版本)
为了避免你在操作过程中遇到的问题无法解决,从而造成挫败感,请尽量与我的环境保持一致,尤其是Django的版本迭代非常快速,Django也许又更新了多个版本。
你可以在操作系统中创建一个pydj/目录,用于存放我的项目练习。笔者在本书中将会使用D:pydj\目录来做练习。
我们要开发一个什么项目?
开发一个什么项目可以很好的涵盖到我本书中所要讲解的知识点呢?我花了很多时间来思考这个问题,作为一名多年来一直从事软件测试工作的人员来说,并没多少项目开发的经验,Django相关资料中的一些项目对于我要介绍的知识点来说并不太合适。突然,想到前段时间所测试的一个发布会签到系统(由PHP开发),我尝试着用Django 开发一个简单的版本,基本可以涵盖所介绍的技术。嗯,就它了!希望你会喜欢和我一起完成这样一个项目。
创建项目与应用
如果你已经成功的安装了Django,在.../python/Scripts/目录中将会多出一个django-admin.exe文件。在 Windows 命令提示符下输入“django-admin”命令回车。
这里罗列了Django所提供给我们的命令,当前使用“startproject”命令来创建项目。
项目 为该项目命名为“guest”。项目结构如下:
guest/_init_.py:一个空的文件,用它标识一个目录为Python标准的包。
guest/settings.py:Django 项目的配置文件,包括Django 模块应用配置,数据库配置,模板配置等。 guest/urls.py:Django项目的URL声明。
guest/wsgi.py:为WSGI兼容的Web服务器服务项目的切入点。
manage.py:一个命令行工具,可以让你用Django项目以不同的方式进行交互。
你会发现 manage.py 提供的许多命令与django—admin相同。关于它们的区别和作用你可以Django的官方文档上找到解释,当前只要跟着我使用这些命令即可。使用“statrapp”命令创建应用。一个项目可以包含多个应用,而我们要开发的具体功能必须在应用下完成。
D:\pydj\guest>django-admin startapp sign #创建sign项目 创建“sign”应用。
如图,Django应用的目录(截图是通过PCharm 编辑器打开)。
migrations/:用于记录models中数数据的变更。
admin.py:映射 models中的数据到Django 带自的admin后台。
apps.py:在新的Django版本中新增,用于应用程序的配置。
models.py:创建应用程序数据表模型(对应数据库的相关操作)。
tests.py:创建 Django测试。
views.py:控制向前端显示哪些数据。