当前位置: 首页>移动开发>正文

零基础入手Django(一):基本介绍及环境搭建

一、Django是什么?

Django是python web开发中的一个常用应用框架。

零基础入手Django(一):基本介绍及环境搭建,第1张

可能很多小伙伴对web开发并不了解,下面我们就来简单梳理一下web应用的基本流程。能用图说明白的我们绝不废话,其基本流程如下图所示。

零基础入手Django(一):基本介绍及环境搭建,第2张

其中http服务器,用来接受用户请求,并将请求转发给Web应用框架进行处理。Web应用框架处理完以后再发送给http服务器,http服务器再返回给用户。

如果看到这儿,你还是不太清楚的话,你可以这样理解Django,“Django就是用来做网站后台的,是web开发中的一种框架”。

二、环境搭建

1.工具准备

(1)虚拟机软件 (2)LInux系统(这里以Ubuntu为例) (3)python3(3.5) (4)Pychram(2018.1.4) (5)MySQL(5.7)

2.虚拟环境

在搭建环境之前,我们需要先了解一下虚拟环境。

零基础入手Django(一):基本介绍及环境搭建,第3张

虚拟环境主要解决的是版本的问题。

例如,项目一用的是Django的1.1版本,项目二用的是Django的2.0版本,而python的大环境只允许一个版本出现这时怎么办呢?(Django1.1和Django2.0是有很大的区别的,它们的URL路由配置有很大的不同)

零基础入手Django(一):基本介绍及环境搭建,第4张

python大哥面对这种情况也是没有关系的~因为它有virtualenv? wrapper(virtual environment wrapper"虚拟环境扩展包"的缩写)。它可以为不同的版本创建不同的环境来使用。

3.创建虚拟环境

创建虚拟环境的常用命令集合如下:

#查看当前有哪些虚拟环境

workon

#创建虚拟环境??-p 用来制定python的版本 envname(为自定义的虚拟环境名称)

mkvirtualenv?-p?/usr/bin/python3?envname

#进入虚拟环境

workon?envname

#退出虚拟环境

deactivate

#删除虚拟环境

rmvirtualenv?envname

#安装django

pip?install?django

#查看当前python环境下的第三方库pip?list

(1)workon查看当前的虚拟环境都有哪些

零基础入手Django(一):基本介绍及环境搭建,第5张

可以看到此时,我们的虚拟环境共有“env2py"和”py3env“这两个。

(2)创建虚拟环境

我们使用如下命令创建一个名为”djtest2.1"的虚拟环境

mkvirtualenv?-p?/usr/bin/python?djtest2.1

xshell端查看如下:

零基础入手Django(一):基本介绍及环境搭建,第6张

可以看到? 我们已自动进入djtest2.1的虚拟环境,我们使用pip list?查看当前虚拟环境中的库。

零基础入手Django(一):基本介绍及环境搭建,第7张

(3)安装django库

我们使用pip install django来为虚拟环境安装django库

零基础入手Django(一):基本介绍及环境搭建,第8张

安装成功后,使用pip list进行查看,可以发现Django已安装在我们的虚拟环境中,版本为2.1.5。

零基础入手Django(一):基本介绍及环境搭建,第9张

值得注意的是:

在虚拟环境中 pip install 安装库不需要加sudo命令,而在非虚拟环境的Linux环境下使用pip install安装库则需要加sudo命令。

(4)创建项目

首先,创建名为“dj_project"的文件夹用来存储项目,创建后通过ls命令进行查看,是否建好。

mkdir?dj_project

创建界面如下:

零基础入手Django(一):基本介绍及环境搭建,第10张

创建后?使用cd命令进入”dj_project"文件夹

cd?dj_project

开始创建django项目,项目名称为“hello_django"

#hello_django为创建的django项目名称

django-admin?startproject?hello_django

界面如下:

零基础入手Django(一):基本介绍及环境搭建,第11张

安装"tree"查看文件结构

sudo?apt?install?tree

安装界面如下:

零基础入手Django(一):基本介绍及环境搭建,第12张

安装完成后,使用tree进行查看

零基础入手Django(一):基本介绍及环境搭建,第13张

我们可以看到,在项目目录下有个和项目同名的目录”hello_django",我们将其称之为“主目录”。其中"_init_.py"用来表明它是一个pyhton的包;“settings.py"是项目的配置文件;”urls.py“用来配置路由;”wsgi.py"是项目部署服务器所用。

和主目录同级的有个“manage.py”它被称之为“命令行”或是“管理器

(5)pycharm代码同步

所谓的代码同步,就是将虚拟机ubuntu系统中的代码同步到windows的编辑器pycharm中,使用pycharm进行代码的编辑。

#1首先,在windows本地新建一个文件夹用来存放django项目,小叮当在e盘新建了名为“djproject”的文件夹。

零基础入手Django(一):基本介绍及环境搭建,第14张

#2在文件夹中创建与项目同名的文件夹“hello_django”

零基础入手Django(一):基本介绍及环境搭建,第15张

#3在“file"选项下选中”New Project"

零基础入手Django(一):基本介绍及环境搭建,第16张

在弹出的界面中选中我们在指定位置新建的文件夹

零基础入手Django(一):基本介绍及环境搭建,第17张

选择完成后的界面如下

零基础入手Django(一):基本介绍及环境搭建,第18张

在弹出的界面中,选择“open in new window"点击”ok"

零基础入手Django(一):基本介绍及环境搭建,第19张

在新的界面中选择“Tools"--"Deployment"--"configuration"

零基础入手Django(一):基本介绍及环境搭建,第20张

在弹出的界面左上方点击”绿色小加号“,出现”add server"对话框,随意起个名字,"type"选择“SFTP"用于代码同步。

零基础入手Django(一):基本介绍及环境搭建,第21张

接着在弹出的界面中,在SFTP?host输入你的虚拟机中Ubuntu的IP地址(若是苹果电脑,虚拟机为vitrulbox使用127.0.0.1),输出对应username(用户名)和password(密码),记得勾选”save password“,便于下次使用。

零基础入手Django(一):基本介绍及环境搭建,第22张

当这些填完时,点击”Test SFTP connection"进行连接测试

零基础入手Django(一):基本介绍及环境搭建,第23张

测试成功后,点击“Mapping"进行路径映射。

零基础入手Django(一):基本介绍及环境搭建,第24张

点击服务器路径设置框右边的三个点在弹出的ubuntu目录中找到home文件下的pyvip/dj_project/hello_django(也就是我们的django项目位置)

零基础入手Django(一):基本介绍及环境搭建,第25张

完成路径设置后,点击“ok"

零基础入手Django(一):基本介绍及环境搭建,第26张

在主页面选中”hello_django"之后,点击“tools”--“deployment”--"download from test"(从服务器上下载代码到本地)

零基础入手Django(一):基本介绍及环境搭建,第27张

点击之后pycharm则会有如下文件下载提示。

零基础入手Django(一):基本介绍及环境搭建,第28张

下载之后点击项目文件夹,可以发现,ubuntu中创建的django项目已被我们同步到windows本地。

零基础入手Django(一):基本介绍及环境搭建,第29张

(6)pycharm创建django项目上传到Ubuntu

除了在Ubuntu端创建django项目pycharm同步到本地编辑之外,我们还可以通过pycharm创建django项目上传到Ubuntu服务器。

#1为pycharm配置Linux运行环境

在pycharm主界面找到“file”--"default settings"--"project interpreter"

点击右边的小齿轮

零基础入手Django(一):基本介绍及环境搭建,第30张

点击“add”添加

零基础入手Django(一):基本介绍及环境搭建,第31张

选择“ssh interpreter”(远程解释器)输入相应的主机地址“192.168.255.130”和用户名后,点击“next”

零基础入手Django(一):基本介绍及环境搭建,第32张

输入密码后,点击“next”

零基础入手Django(一):基本介绍及环境搭建,第33张

检查下解释器的位置,确认正确后,点击“Finish”完成。

零基础入手Django(一):基本介绍及环境搭建,第34张

之后进入解释器的界面,点击“ok”即可。

零基础入手Django(一):基本介绍及环境搭建,第35张

下面我们从”tools“--”deployment"--"options"中进行同步方式设置。

零基础入手Django(一):基本介绍及环境搭建,第36张

为避免pycharm出现卡顿,我们在"uplaod changed files...."自动上传设置里选择”on explicit save action(ctrl+s)"表示,只有当按下“ctrl+s"时才会上传。选择”alway"表示实时更新上传,可能会令pycharm出现卡顿的现象。

零基础入手Django(一):基本介绍及环境搭建,第37张

#2在pycharm中创建django项目

选择"file"---"new project"--"django"

零基础入手Django(一):基本介绍及环境搭建,第38张

我们为项目起名为“test_hello_django”,选择“existing interpreter”(已存在的解释器)找到我们刚建好的“远程解释器”

零基础入手Django(一):基本介绍及环境搭建,第39张

选择远程目录为我们在ubuntu中创建好的“dj_project”文件夹

零基础入手Django(一):基本介绍及环境搭建,第40张

将我们要创建的项目名称“test_hello_django”加在远程目录之后

零基础入手Django(一):基本介绍及环境搭建,第41张

接下来?我们点击”more settings"(更多设置),我们在"Application name"那一栏中写入“book"

零基础入手Django(一):基本介绍及环境搭建,第42张

其中共有四栏,“Template language"指模版语言,我们选用默认的”Django"即可。“Templates folder"指系统为我们创建的模版文件夹的名称。”Application name“指项目创建app(应用)的名称。”Enable Django admin"打上对勾表示使用Django自带的管理后台。

设置完成之后,点击”create",在弹出的界面中选择“从新的窗口”打开。

零基础入手Django(一):基本介绍及环境搭建,第43张

点击“ok"后会弹出sudo密码确认窗口,我们输入密码即可。

零基础入手Django(一):基本介绍及环境搭建,第44张

之后我们便可以看到创建的test_hello_django项目,和相应的自动上传提示。

零基础入手Django(一):基本介绍及环境搭建,第45张

我们通过xshell在ubuntu中查看,可以看到项目已成功同步到ubuntu服务器中。

零基础入手Django(一):基本介绍及环境搭建,第46张

(7)启动服务方法一

(5)(6)为django创建项目的两种方法,在项目创建完成后,我们便要开始启动服务了。

下面我们以"hello_django"项目为例进行说明:

#1?允许所用主机访问项目

在settings.py中,找到"allowed_hosts"令其等于“*”表示该项目允许所有主机访问。

ALLOWED_HOSTS?=?['*']

最后“ctrl+s"上传到服务器。

零基础入手Django(一):基本介绍及环境搭建,第47张

#2 在xhell段进入项目目录,在目录下输入启动项目命令

#其中0.0.0.0的ip表示任意主机

python?manage.py?runserver?0.0.0.0:8000

如下所示

零基础入手Django(一):基本介绍及环境搭建,第48张

#3?在浏览器中输入相应ip地址和端口号进行测试

出现以下界面表示,项目运行成功

零基础入手Django(一):基本介绍及环境搭建,第49张

(8)启动服务方法二

#1配置项目运行环境为ubuntu下创建的虚拟环境

点击“file"--"settings"--"project interpreter"点击右边的小齿轮选择”add"进行添加

零基础入手Django(一):基本介绍及环境搭建,第50张

选择“ssh interpreter"填写相应的主机地址,用户名,点击”next“

零基础入手Django(一):基本介绍及环境搭建,第51张

输入密码,点击“next"

零基础入手Django(一):基本介绍及环境搭建,第52张

选择/home/pyvip/找到.virtualenvs路径下我们创建胡虚拟环境djtest2.1其bin目录下的python3.6(完整地址为/home/pyvip/.virtualenvs/djtest2.1/bin/python3.6)

零基础入手Django(一):基本介绍及环境搭建,第53张

选择映射地址

零基础入手Django(一):基本介绍及环境搭建,第54张

点击”remote path"远程地址进行更改

零基础入手Django(一):基本介绍及环境搭建,第55张

更改为项目所在地址/home/pyvip/dj_project/hello_django

零基础入手Django(一):基本介绍及环境搭建,第56张

更改后点击“ok”,在确认解释器和linux端项目位置正确后点击“finish"

零基础入手Django(一):基本介绍及环境搭建,第57张

在确认解释器正确后,点击”ok“

零基础入手Django(一):基本介绍及环境搭建,第58张

#2选择编辑器右上角的Edit Configuration?按钮

零基础入手Django(一):基本介绍及环境搭建,第59张

#3点击添加选择”django server"

零基础入手Django(一):基本介绍及环境搭建,第60张

#4配置“django server"

在name文本框自定义名称为”hello_django";host文本框命名为“0.0.0.0”

零基础入手Django(一):基本介绍及环境搭建,第61张

在Environment variables?处点击右边的“三个点”

零基础入手Django(一):基本介绍及环境搭建,第62张

添加环境变量“DIJANGO_SETTINGS_MODULE"值为"项目名称+settings"即”hello_django.settings"

零基础入手Django(一):基本介绍及环境搭建,第63张

选择解释器为我们配置的虚拟环境(djtest2.1)中的python,点击”ok“

零基础入手Django(一):基本介绍及环境搭建,第64张

若有红色警报,点击”fix"

零基础入手Django(一):基本介绍及环境搭建,第65张

在Enable django support处勾选对号,选择本地"hello_django"所在位置,和其"hello_django.settings"的文件位置,选好后,点击“ok"即可。

零基础入手Django(一):基本介绍及环境搭建,第66张

之后点击hello_django右侧的绿色小播放按钮,即可运行

零基础入手Django(一):基本介绍及环境搭建,第67张

此时仍在浏览器中输入”192.168.255.130:8000“,出现以下界面则证明我们运行成功。

零基础入手Django(一):基本介绍及环境搭建,第68张

三、创建视图、新建APP

1.创建视图

(1)在项目中直接新建“views.py”

在项目处右击,“new”--"python file"

零基础入手Django(一):基本介绍及环境搭建,第69张

起名为“views”

零基础入手Django(一):基本介绍及环境搭建,第70张

在“views.py”中输入以下代码

#!/usr/bin/env?python

#?-*-?coding:utf-8?-*-

__author__?=?'IT小叮当'

__time__?=?'2019-01-10?14:19'

#从django中导入http相应请求包

from?django.http?import?HttpResponse

#视图函数必须带有一个request请求(因为服务器是根据客户的请求进行返回响应的)

#定义视图函数hellodef?hello(request):

return?HttpResponse('大家好我是IT小叮当')

如下所示

零基础入手Django(一):基本介绍及环境搭建,第71张

(2)配置路由,点击“urls.py”进行编辑

加上如下代码即可

零基础入手Django(一):基本介绍及环境搭建,第72张

其中所加代码含义如下:

#从同级目录中导入views.py的hello函数

from?.views?import?hello

#为hello函数配置路由为'hello/'

urlpatterns?=?[

path('admin/',?admin.site.urls),

path('hello/',hello)

]

(3)上传代码到服务器后,开启服务

在项目处右击,找到“deployment”--"upload to test"(test为我们前几步时创建好的远程会话)

零基础入手Django(一):基本介绍及环境搭建,第73张

开启服务

零基础入手Django(一):基本介绍及环境搭建,第74张

在浏览器中输入“http://192.168.255.130:8000/hello/”

零基础入手Django(一):基本介绍及环境搭建,第75张

可以看到windows网页客户端已成功返回我们部署在虚拟机ubuntu服务器上的内容“大家好我是IT小叮当”

2.新建app

(1)了解什么是app

app全称application(应用的意思),在django项目中可以理解为“板块”的意思。

我们以豆瓣网为例进行说明,(因为豆瓣就是django写的),将整个豆瓣网看做一个django项目,其中主页的“读书”、电影“、”音乐”、“小组”、“同城”、“FM”、“时间”、“豆品”等就可看做是项目中的一个个app。

零基础入手Django(一):基本介绍及环境搭建,第76张

(2)新建app

方式一:通过命令行创建

在项目目录下输入相应的创建app命令即可。

#新建名为book的app

python?manage.py?startapp?book

创建界面如下

零基础入手Django(一):基本介绍及环境搭建,第77张

我们用tree命令查看

零基础入手Django(一):基本介绍及环境搭建,第78张

可以看到系统已经为我们搭好了框架,我们只需在其中填写内容即可。

我们在本地"hello_django"处右键---“deployment”--"download from xxx"(xxx为你自己创建的会话连接)

零基础入手Django(一):基本介绍及环境搭建,第79张

下载后可以看到名book的app已经同步到本地。

零基础入手Django(一):基本介绍及环境搭建,第80张

方式二:在pycharm中创建

在pycharm中找到“tools”--"run manage.py task...."

零基础入手Django(一):基本介绍及环境搭建,第81张

点击后可以看到pycharm已经帮我们自动运行了python manage.py

零基础入手Django(一):基本介绍及环境搭建,第82张

我们直接在其后输入“startapp movie”新建一个名为movie的app

零基础入手Django(一):基本介绍及环境搭建,第83张

可以看到我们以ssh的方式通过本地pycharm已在ubuntu服务器上建立app,接下来仍然是将代码同步到本地即可。(参考方式一的代码同步,这里不再赘述)

零基础入手Django(一):基本介绍及环境搭建,第84张

如果你耐心的看到这里,恭喜你,你已经掌握了Django的基本认知--工具准备--新建项目--代码同步--开启服务--创建视图--新建应用

零基础入手Django(一):基本介绍及环境搭建,第85张

https://www.xamrdz.com/mobile/4de1890070.html

相关文章: