首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

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

一、Django是什么?

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

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

其中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)

嫌麻烦的小伙伴可以直接下载小叮当的资源:其中(3)(5)都已封装好在LInux系统里了。虚拟机软件在公众号里回复“vm15”即可;ubuntu系统在公众号里回复“ubuntu1804”即可;pycharm在公众号里回复“pycharm2018”即可。

有关软件的安装步骤可以参考小叮当的这几篇教程。

2.虚拟环境

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

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

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

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

3.创建虚拟环境

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

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

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

(2)创建虚拟环境

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

xshell端查看如下:

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

(3)安装django库

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

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

值得注意的是:

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

(4)创建项目

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

创建界面如下:

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

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

界面如下:

安装"tree"查看文件结构

安装界面如下:

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

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

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

(5)pycharm代码同步

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

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

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

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

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

选择完成后的界面如下

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

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

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

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

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

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

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

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

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

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

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

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

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

#1为pycharm配置Linux运行环境

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

点击右边的小齿轮

点击“add”添加

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

输入密码后,点击“next”

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

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

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

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

#2在pycharm中创建django项目

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

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

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

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

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

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

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

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

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

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

(7)启动服务方法一

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

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

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

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

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

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

如下所示

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

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

(8)启动服务方法二

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

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

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

输入密码,点击“next"

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

选择映射地址

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

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

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

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

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

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

#4配置“django server"

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

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

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

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

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

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

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

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

三、创建视图、新建APP

1.创建视图

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

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

起名为“views”

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

如下所示

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

加上如下代码即可

其中所加代码含义如下:

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

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

开启服务

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

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

2.新建app

(1)了解什么是app

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

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

(2)新建app

方式一:通过命令行创建

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

创建界面如下

我们用tree命令查看

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

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

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

方式二:在pycharm中创建

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

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

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

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

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

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20190112A0KPIR00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券