Django的安装和基础使用 (win10 + Python3.10 + django 2.2.3)

本文介绍了在Windows 10系统中使用Python 3.10和Django 2.2.3进行Web开发的基础步骤。包括Python的安装、虚拟环境的创建与管理(通过Pipenv)、Django的安装以及创建第一个Django项目。建议在虚拟环境中开发以避免环境冲突。文章最后展示了如何启动Django内置服务器并验证安装成功。

Django的介绍和安装

Python做web开发,非常的方便和快捷,这个优势,得益于Python的两个框架,一个Flask,一个Django。

Flask小,微框架,只含有核心组件,其他的内容,都需要找库或者自行开发,适用进阶学习,以及高手使用,完全按着自己的思路,来使用flask搭建网站。

Django大而全,开发迅速,组件完整,可以快速的搭建一个站起来,但是必须要安装Django的思路来搭建,所以适合新手学习。

开发环境说明

开发环境的系统平台为 Windows 10 (64 位),Python 版本为 3.10,django 版本为 2.2.3。

建议尽可能地与教程的开发环境保持一致(尤其是 Python 与 django 版本),避免不必要的麻烦。Python 版本必须为 Python 3.4 或以上,django 版本号必须为 django 2.2.x。

安装 Python

Windows 下安装 Python 非常简单,去 Python 官方网站找到 Python 3 的下载地址,根据你的系统选择 32 位或者 64 位的安装包,下载好后双击安装即可。

使用虚拟环境

强烈推荐在虚拟环境下进行 django 的开发。

虚拟环境是一种 Python 工具,使用它可以创建一个独立的 Python 环境。

Pipenv 创建和管理虚拟环境

 

首先通过命令 pip install pipenv 安装 Pipenv。

然后创建一个文件夹,作为我们将要开发的博客项目的根目录,例如我在个人的工作目录 D:\py\下新建一个名为 LGC-blog的目录(右键-新建文件夹),作为项目根目录。

 

然后进入这个目录,在这个目录下执行 pipenv install,Pipenv 将会为我们做好一切工作。具体来说,Pipenv会根据项目文件夹的名称创建一个虚拟环境,并且会在项目根目录下生成 Pipfile 和 Pipfile.lock 用于管理项目依赖。要激活虚拟环境,在项目根目录下运行 pipenv shell 命令

 

安装 Django

在D:\py\LGC-blog\下 运行 pipenv install django==2.2.3 命令

测试一下安装是否成功,先在命令行输入 pipenv run python 启动虚拟环境中的 Python 解释器交互界面)。然后输入 import django,如果没有报错就说明 django 安装成功。 

建立 Django 工程

例如我把代码放在D:\py\LGC-blog 目录下,工程名我把它叫做 Gproject,那么在项目根目录运行如下命令创建工程:pipenv run django-admin startproject Gproject D:\py\LGC-blog

django-admin startproject 命令用来初始化一个 django 项目,它接收两个参数,

第一个是项目名 blogproject,

第二个指定项目生成的位置,因为之前我们为了使用 Pipenv 创建了项目根目录,所以将项目位置指定为此前创建的位置。

Hello Django

网站需要运行在一个 Web 服务器上,django 已经为我们提供了一个用于本地开发的 Web 服务器。在命令行工具里进入到 manage.py 所在目录,即 LGC-blog 目录下。

运行 pipenv run python manage.py runserver 命令就可以在本机上开启一个 Web 服务器:

 

看到这样的信息表明我们的服务器开启成功。

在浏览器输入 http://127.0.0.1:8000/ ,看到如下的页面:

 

 

<think>我们将在Ubuntu 22.04上部署Django 5项目,使用系统自带的Python 3.10,通过uWSGINginx进行部署,且不使用虚拟环境。以下是详细步骤: ### 1. 系统更新 首先,更新系统软件包: ```bash sudo apt update sudo apt upgrade -y ``` ### 2. 安装必要的软件包 安装Python 3.10、pip以及构建uWSGI所需的依赖: ```bash sudo apt install -y python3.10 python3-pip python3.10-dev build-essential libssl-dev libpq-dev libffi-dev ``` ### 3. 安装DjangouWSGI 使用pip全局安装DjangouWSGI(注意:不使用虚拟环境): ```bash sudo pip3 install django==5.1.3 uwsgi ``` ### 4. 创建Django项目 假设项目名为`myproject`,创建在`/opt`目录下: ```bash cd /opt sudo django-admin startproject myproject ``` 调整项目目录权限(假设当前用户为`ubuntu`): ```bash sudo chown -R ubuntu:ubuntu /opt/myproject ``` ### 5. 测试Django项目 运行开发服务器测试: ```bash cd /opt/myproject python3 manage.py runserver 0.0.0.0:8000 ``` 访问`http://服务器IP:8000`,确认Django欢迎页面出现。 ### 6. 配置uWSGI #### 6.1 创建uWSGI配置文件 在项目目录下创建`myproject_uwsgi.ini`: ```ini [uwsgi] # 使用nginx连接时使用socket socket = :9000 # 直接作为web服务器使用http # http = :9000 # 项目目录 chdir = /opt/myproject # 项目中wsgi.py文件的目录,相对于项目目录 module = myproject.wsgi:application # 主进程 master = true # 进程数 processes = 4 # 线程数 threads = 2 # 退出时清理环境 vacuum = true # 日志文件 daemonize = /var/log/uwsgi/myproject.log # 以守护进程方式运行 pidfile = /tmp/myproject.pid # 指定uWSGI运行时的用户组(需nginx相同) uid = www-data gid = www-data ``` #### 6.2 创建日志目录并设置权限 ```bash sudo mkdir -p /var/log/uwsgi sudo chown -R www-data:www-data /var/log/uwsgi ``` ### 7. 配置Nginx #### 7.1 安装Nginx ```bash sudo apt install -y nginx ``` #### 7.2 创建Nginx配置文件 在`/etc/nginx/sites-available/`下创建配置文件`myproject`: ```nginx server { listen 80; server_name your_domain.com; # 替换为你的域名或IP location / { include uwsgi_params; uwsgi_pass 127.0.0.1:9000; } location /static/ { alias /opt/myproject/static/; # 静态文件目录 } location /media/ { alias /opt/myproject/media/; # 媒体文件目录 } } ``` #### 7.3 启用配置并测试 创建符号链接: ```bash sudo ln -s /etc/nginx/sites-available/myproject /etc/nginx/sites-enabled/ ``` 测试Nginx配置: ```bash sudo nginx -t ``` 重启Nginx: ```bash sudo systemctl restart nginx ``` ### 8. 收集静态文件 在Django设置文件中配置静态文件路径: ```python # settings.py STATIC_URL = &#39;/static/&#39; STATIC_ROOT = os.path.join(BASE_DIR, &#39;static&#39;) ``` 运行收集命令: ```bash python3 manage.py collectstatic ``` ### 9. 启动uWSGI 使用配置文件启动uWSGI: ```bash uwsgi --ini /opt/myproject/myproject_uwsgi.ini ``` ### 10. 测试 访问服务器IP或域名,查看Django应用是否正常运行。 ### 注意事项 - 由于不使用虚拟环境,所有包都是全局安装,需注意权限问题。 - 生产环境中务必设置`DEBUG=False`并配置`ALLOWED_HOSTS`。 - 如果遇到权限问题,请检查相关目录(如项目目录、日志目录)的所有者组。 §§相关问题§§ 1. 如何配置Django的静态文件媒体文件? 2. 如何设置uWSGINginx开机自启? 3. 如何为Django项目配置HTTPS?</think>### Ubuntu 22.04部署Django 5项目详细流程(Python 3.10 + uWSGI + Nginx,无虚拟环境) #### 1. 系统准备 ```bash sudo apt update && sudo apt upgrade -y sudo apt install python3.10 python3.10-dev python3-pip nginx build-essential libpq-dev -y ``` #### 2. 安装DjangouWSGI ```bash sudo pip3 install django==5.1.3 uwsgi ``` #### 3. 创建Django项目 ```bash cd /opt sudo django-admin startproject myproject sudo chown -R $USER:$USER /opt/myproject ``` #### 4. 配置Django设置 编辑`/opt/myproject/myproject/settings.py`: ```python ALLOWED_HOSTS = [&#39;*&#39;] # 生产环境需替换为实际域名 STATIC_ROOT = &#39;/opt/myproject/static&#39; # 添加静态文件路径 ``` #### 5. 配置uWSGI 创建`/opt/myproject/uwsgi.ini`: ```ini [uwsgi] chdir = /opt/myproject module = myproject.wsgi:application master = true processes = 4 threads = 2 socket = /opt/myproject/myproject.sock chmod-socket = 666 vacuum = true daemonize = /var/log/uwsgi.log ``` #### 6. 配置Nginx 创建`/etc/nginx/sites-available/myproject.conf`: ```nginx server { listen 80; server_name your_domain.com; # 替换为实际域名或IP location / { include uwsgi_params; uwsgi_pass unix:///opt/myproject/myproject.sock; } location /static/ { alias /opt/myproject/static/; } } ``` 启用配置: ```bash sudo ln -s /etc/nginx/sites-available/myproject.conf /etc/nginx/sites-enabled/ sudo nginx -t && sudo systemctl reload nginx ``` #### 7. 收集静态文件 ```bash cd /opt/myproject python3 manage.py collectstatic ``` #### 8. 启动服务 ```bash uwsgi --ini /opt/myproject/uwsgi.ini ``` #### 9. 验证部署 - 访问服务器IP应显示Django欢迎页 - 检查日志:`tail -f /var/log/nginx/error.log /var/log/uwsgi.log` #### 10. 设置开机自启(可选) 创建`/etc/systemd/system/uwsgi.service`: ```ini [Unit] Description=uWSGI Service [Service] ExecStart=/usr/local/bin/uwsgi --ini /opt/myproject/uwsgi.ini Restart=always KillSignal=SIGQUIT Type=notify [Install] WantedBy=multi-user.target ``` 启动服务: ```bash sudo systemctl daemon-reload sudo systemctl enable uwsgi sudo systemctl start uwsgi ``` > **关键注意事项**: > 1. 确保防火墙开放80端口:`sudo ufw allow 80` > 2. 生产环境必须设置`DEBUG=False``ALLOWED_HOSTS` > 3. 使用`sudo pip3`安装全局包可能导致依赖冲突[^1] > 4. 通过`ps aux | grep uwsgi`验证进程状态 > 5. 文件权限问题是最常见错误源(尤其是.sock文件)[^2]
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

G.spring

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值