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


风晓
风晓 2023-12-28 14:54:15 52974 赞同 0 反对 0
分类: 资源
本文主要讲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 (5)MySQL(5.7)

2.虚拟环境

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

 

 

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

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

 

 

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查看当前的虚拟环境都有哪些

 

 

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

(2)创建虚拟环境

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

mkvirtualenv -p /usr/bin/python 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命令进行查看,是否建好。

mkdir dj_project

创建界面如下:

 

 

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

cd dj_project

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

#hello_django为创建的django项目名称
django-admin startproject hello_django

界面如下:

 

 

安装"tree"查看文件结构

sudo apt install 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"令其等于“*”表示该项目允许所有主机访问。

ALLOWED_HOSTS = ['*']

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

 

 

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

#其中0.0.0.0的ip表示任意主机
python manage.py runserver 0.0.0.0:8000

如下所示

 

 

#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”中输入以下代码

#!/usr/bin/env python
# -*- coding:utf-8 -*-  
__author__ = 'IT小叮当'
__time__ = '2019-01-10 14:19'
#从django中导入http相应请求包
from django.http import HttpResponse

#视图函数必须带有一个request请求(因为服务器是根据客户的请求进行返回响应的)
#定义视图函数hello
def hello(request):
    return HttpResponse('大家好我是IT小叮当')

如下所示

 

 

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

加上如下代码即可

 

 

其中所加代码含义如下:

#从同级目录中导入views.py的hello函数
from .views import hello
#为hello函数配置路由为'hello/'
urlpatterns = [
    path('admin/', admin.site.urls),
    path('hello/',hello)
]

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

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

 

 

开启服务

 

 

在浏览器中输入“192.168.255.130:8000/he

 

 

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

2.新建app

(1)了解什么是app

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

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

 

 

(2)新建app

方式一:通过命令行创建

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

#新建名为book的app
python manage.py startapp book

创建界面如下

 

 

我们用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的基本认知--工具准备--新建项目--代码同步--开启服务--创建视图--新建应用

如果您发现该资源为电子书等存在侵权的资源或对该资源描述不正确等,可点击“私信”按钮向作者进行反馈;如作者无回复可进行平台仲裁,我们会在第一时间进行处理!

评价 0 条
风晓L1
粉丝 1 资源 2038 + 关注 私信
最近热门资源
银河麒麟桌面操作系统备份用户数据  123
统信桌面专业版【全盘安装UOS系统】介绍  118
银河麒麟桌面操作系统安装佳能打印机驱动方法  109
银河麒麟桌面操作系统 V10-SP1用户密码修改  103
最近下载排行榜
银河麒麟桌面操作系统备份用户数据 0
统信桌面专业版【全盘安装UOS系统】介绍 0
银河麒麟桌面操作系统安装佳能打印机驱动方法 0
银河麒麟桌面操作系统 V10-SP1用户密码修改 0
作者收入月榜
1

prtyaa 收益393.62元

2

zlj141319 收益218元

3

1843880570 收益214.2元

4

IT-feng 收益209.03元

5

风晓 收益208.24元

6

777 收益172.71元

7

Fhawking 收益106.6元

8

信创来了 收益105.84元

9

克里斯蒂亚诺诺 收益91.08元

10

技术-小陈 收益79.5元

请使用微信扫码

加入交流群

请使用微信扫一扫!