Django 是一个开放源代码的 Web 应用框架,由 Python 写成。
Django 遵守 BSD 版权,初次发布于 2005 年 7 月, 并于 2008 年 9 月发布了第一个正式版本 1.0 。
Django 采用了 MVT 的软件设计模式,即模型(Model),视图(View)和模板(Template)
特点
MVT模型的介绍
Django 的 MTV 模式本质上和 MVC 是一样的,也是为了各组件间保持松耦合关系,只是定义上有些许不同,Django 的 MTV 分别是指:
除了以上三层之外,还需要一个 URL 分发器,它的作用是将一个个 URL 的页面请求分发给不同的 View 处理,View 再调用相应的 Model 和 Template
用户操作流程:
用户通过浏览器向我们的服务器发起一个请求(request),这个请求会去访问视图函数:
注:在安装 Django 前,系统需要已经安装了Python的开发环境
下载Django包
在cmd里面输入等待安装完成:
pip install Django==3.2.9 #可支持选择版本号,示具体开发情况而定
检查是否安装成功,在python cmd IDE下,输入以下:
>>> import django
>>> django.get_version()
安装 Django 之后,您现在应该已经有了可用的管理工具 django-admin
使用 django-admin 来创建 HelloWorld 项目:(需要在django-admin目录下打开cmd运行)
django-admin startproject HelloWorld
创建完成后我们可以查看下项目的目录结构:
$ cd HelloWorld/
$ tree
.
|-- HelloWorld
| |-- __init__.py
| |-- asgi.py
| |-- settings.py
| |-- urls.py
| `-- wsgi.py
`-- manage.py
目录说明:
浏览器测试
进入manage.py目录运行cmd
python manage.py runserver #启动服务器
django-admin.py startapp hello #创建hello app
假设我们刚购买了一台新的Linux服务器,已经安装好Centos操作系统
在服务器供应商管理后台安全组里开放必要端口
国内的云服务器是把所有的端口给屏蔽了的,如果想使用的话需要自己在服务器提供商后台里的安全组里开放端口。比较常见的是阿里云、腾讯云、百度云等。大多数的服务器商是不需要做此操作的。需要开通的端口一般为:80、443、21、22、3306、8888
,8888端口主要是用于访问宝塔的
远程shell到服务器目录
终端输入命令:
mkdir /www
这个目录主要是用于存放宝塔面板和网站(项目)数据的
安装宝塔面板
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh
安装过程很简单,输入命令等待即可,就不做过多介绍
安装成功之后就看到如下类似的信息
这个是宝塔面板的登录地址、用户名和登录密码,你需要把这个复制保存起来。
更多关于宝塔的其它操作,可以直接在终端输入:bt,回车然后得到如下的选项:
这里面只有Nginx是必须要安装的,如果你使用的是Mysql数据库,那么Mysql也勾选上,其它的你可以根据自己的需求来决定是否安装。后面如果想安装其它的,也可以在软件管理里安装。留意:软件名后面的三角符号点击它可以选择软件的版本。新手建议默认即可。选择好之后,点击一键安装
我们在左边的‘软件商店’里选择‘宝塔插件’,找到‘Python项目管理’这个插件进行安装
安装项目所需要的Python版本
点击设置
然后出现如下界面:选择我们项目的python版本
域名处填写自己的域名即可,没有域名填写服务器IP地址
留意:在打包项目源码之前,先在本地环境使用下面的命令把环境依赖包导出到requirements.txt文件里,并把这个文件存放在项目目录下,这一步奏非常重要,请务必记得操作。
导出命令:
pip freeze > requirements.txt
这一步操作好之后,我们就通过下面的步骤把项目源码上传上到服务器上去
到python项目的根目录下,上传Django项目源码的压缩包文件,解压到文件目录中
新建成功之后输入如下代码(根据自己的项目信息替换填写),然后保存:
#添加配置选择
[uwsgi]
#配置和nginx连接的socket连接
socket=127.0.0.1:8997
#配置项目路径,项目的所在目录
chdir=/www/wwwroot/www.django.cn/
#配置wsgi接口模块文件路径,也就是wsgi.py这个文件所在的目录
wsgi-file=myblog/wsgi.py
#配置启动的进程数
processes=4
#配置每个进程的线程数
threads=2
#配置启动管理主进程
master=True
#配置存放主进程的进程号文件
pidfile=uwsgi.pid
#配置dump日志记录
daemonize=uwsgi.log`
左侧网站,然后点击网站名,在弹出的窗口里找到’配置文件’,然后配置文件里输入如下代码:
location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:8997; #端口要和uwsgi里配置的一样
uwsgi_param UWSGI_SCRIPT myblog.wsgi; #wsgi.py所在的目录名+.wsgi
uwsgi_param UWSGI_CHDIR /www/wwwroot/www.django.cn/; #项目路径
}
location /static/ {
alias /www/wwwroot/www.django.cn/static/; #静态资源路径
}
保存即可
在软件商店里找到Python项目管理插件,然后点击设置,添加项目。里面的各种选项很简单,按实际情况填写就行
值得说的就是那个端口,端口要和uwsgi.ini里面的那个端口一致。如果有多个项目的话,不同的项目要填写不同的端口。端口随便填写,只要不与其它常用软件端口冲突就好
注:使用Python项目管理插件新建项目成功之后,会自动在项目j源码目录里创建一个虚拟环境,虚拟环境目录一般都是以项目名_venv形式命名的。
进入虚拟环境方法:
在命令行输入 source 项目路径/项目名_venv/bin/activate 如:
source /www/wwwroot/myblog/myblog_venv/bin/activate
大功告成!!!恭喜你!!!