从零开始搭建Django博客①--正式开始前的准备工作

本文主要在Ubuntu环境上搭建,为便于研究理解,采用SSH连接在虚拟机里的ubuntu-24.04.2-desktop系统搭建的可视化桌面,涉及一些文件操作部分便于通过桌面化进行理解,最后的目标是在本地搭建好系统后,迁移至云服务器并通过Nginx代理绑定域名,对外发布。

此为从零开始搭建Django博客系列的第一篇,计划用一周时间完成一个博客搭建并全程记录,便于学习和跟着操作。

从零开始搭建Django博客①--正式开始前的准备工作
从零开始搭建Django博客②--Django的服务器内容搭建

创建新用户

如果是新的系统或者云服务器,通常是以root用户登录。在 root 下部署代码不安全,最好是建一个新用户:

shell 复制代码
# 如果提示权限问题,可能因为并不是root用户登录,还需要新建用户的话,可以直接sudo命令
# sudo adduser xxx 添加新用户
adduser django 
# 把新用户添加到超级用户组
usermod -a -G sudo django
# 以下提示代表加入成功
# To run a command as administrator (user "root"), use "sudo <command>".
# 切换到新用户,需要输入密码
su django
# 查看权限,需要输入密码
django@主机名:/$ sudo whoami
# 显示root代表为超级用户

Python安装配置

检查Python安装情况

Ubuntu 通常预装了 Python 3,可以通过以下命令查看

shell 复制代码
python3 --version

由于本文目标是Django,有一个python版本就够用了,不需要多版本,如果没有直接通过以下命令安装。

shell 复制代码
sudo apt update
sudo apt install python3

安装 pip 和虚拟环境

接下来需要安装python的包管理工具和虚拟环境,虚拟环境主要用于隔离各项目,如果只想做一个项目可以不安装,建议安装配置。

shell 复制代码
# 安装pip
sudo apt install python3-pip
shell 复制代码
# 安装虚拟环境
sudo apt install python3-venv
# 创建项目目录
cd home
sudo mkdir myblog
# 创建虚拟环境blog
sudo python3 -m venv blog
# 激活环境
source blog/bin/activate
激活后,在命令前会出现(blog)指示
# 退出虚拟环境
deactivate

数据库安装配置(mysql)

虽然django目前已经可以使用nosql,但我们一般仍然使用mysql,毕竟SQL语句使用更为广泛。

shell 复制代码
sudo apt install mysql-server -y

启动并检查

shell 复制代码
# 启动
sudo systemctl start mysql
# 检查状态
sudo systemctl status mysql

安全配置向导(可选)

shell 复制代码
sudo mysql_secure_installation

会按顺序进行以下五个步骤

  1. 设置密码验证策略(推荐选择强密码模式)。

  2. 移除匿名用户。

  3. 禁止远程root登录。

  4. 删除测试数据库。

  5. 重新加载权限表。

登录数据库

shell 复制代码
# 初始使用sudo权限登录没有密码
sudo mysql -u root

# 退出数据库
mysql> \q

新建数据库

sql 复制代码
-- 创建数据库
CREATE DATABASE djange;
-- 显示当前数据库
SHOW DATABASES

(建议)创建用户并授权

尽量避免使用root账户直接管理所有数据库。

SQL 复制代码
-- 创建用户(将 username 和 password 替换为实际值)
CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';
-- 授予用户对新数据库的全部权限
GRANT ALL PRIVILEGES ON new_database.* TO 'username'@'localhost';
-- 刷新权限
FLUSH PRIVILEGES;
-- 退出数据库
\q

Django框架建设

目录权限分配

为了防止在项目构建时出现权限不足问题,这里我们将整个目录权限交给我们当前用户。

shell 复制代码
sudo chown -R 用户名:用户名 项目目录

项目构建

安装django

shell 复制代码
# 进入相应目录
cd /home/myblog
# 激活虚拟环境(blog为虚拟环境)
source blog/bin/activate
# 安装django,推荐从清华源,不然太慢
pip install django -i https://pypi.tuna.tsinghua.edu.cn/simple

创建项目

运行以下命令创建一个名为 myblog 的项目:

python 复制代码
django-admin startproject myblog

在当前目录下会生成一个myblog的文件夹,就是我们的项目文件夹了

shell 复制代码
# 项目文件夹结构
├── manage.py
└── myblog
    ├── asgi.py
    ├── __init__.py
    ├── settings.py
    ├── urls.py
    └── wsgi.py

测试项目

进入项目根目录(有 manage.py 的目录),运行服务器:

python 复制代码
# 开启服务
python manage.py runserver

由于还没配置,会有报错,先不用理会。

访问http://localhost:8000,看到欢迎页面表示成功。

到此,一个django项目完成了全部启动前工作。

总结

本章主要是准备工作,Django项目的本地部署需要安装pythonmysql,并为python安装Django包,下一章将正式开始Django的操作部署。

相关推荐
mahuifa1 小时前
(7)python开发经验
python·qt·pyside6·开发经验
学地理的小胖砸2 小时前
【Python 操作 MySQL 数据库】
数据库·python·mysql
安迪小宝2 小时前
6 任务路由与负载均衡
运维·python·celery
Blossom.1182 小时前
使用Python实现简单的人工智能聊天机器人
开发语言·人工智能·python·低代码·数据挖掘·机器人·云计算
lisw052 小时前
Python高级进阶:Vim与Vi使用指南
python·vim·excel
ayiya_Oese3 小时前
[模型部署] 3. 性能优化
人工智能·python·深度学习·神经网络·机器学习·性能优化
SoraLuna3 小时前
「Mac畅玩AIGC与多模态40」开发篇35 - 用 Python 开发服务对接 SearxNG 与本地知识库
python·macos·aigc
noravinsc3 小时前
redis是内存级缓存吗
后端·python·django
王学政23 小时前
LlamaIndex 第九篇 Indexing索引
人工智能·python
百锦再4 小时前
大数据技术的主要方向及其应用详解
大数据·linux·网络·python·django·pygame