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

news2025/5/10 6:48:52

本文主要在Ubuntu环境上搭建,为便于研究理解,采用SSH连接在虚拟机里的ubuntu-24.04.2-desktop系统搭建的可视化桌面,涉及一些文件操作部分便于通过桌面化进行理解,最后的目标是在本地搭建好系统后,迁移至云服务器并通过Nginx代理绑定域名,对外发布。
此为从零开始搭建Django博客系列的第一篇,计划用一周时间完成一个博客搭建并全程记录,便于学习和跟着操作。

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

创建新用户

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

# 如果提示权限问题,可能因为并不是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,可以通过以下命令查看

python3 --version

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

sudo apt update
sudo apt install python3

安装 pip 和虚拟环境

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

# 安装pip
sudo apt install python3-pip
# 安装虚拟环境
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语句使用更为广泛。

sudo apt install mysql-server -y

启动并检查

# 启动
sudo systemctl start mysql
# 检查状态
sudo systemctl status mysql

在这里插入图片描述

安全配置向导(可选)

sudo mysql_secure_installation

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

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

  2. 移除匿名用户。

  3. 禁止远程root登录。

  4. 删除测试数据库。

  5. 重新加载权限表。

登录数据库

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

# 退出数据库
mysql> \q

在这里插入图片描述

新建数据库

-- 创建数据库
CREATE DATABASE djange;
-- 显示当前数据库
SHOW DATABASES

在这里插入图片描述

(建议)创建用户并授权

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

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

Django框架建设

目录权限分配

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

sudo chown -R 用户名:用户名 项目目录

项目构建

安装django

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

创建项目

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

django-admin startproject myblog

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

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

测试项目

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

# 开启服务
python manage.py runserver

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

访问http://localhost:8000,看到欢迎页面表示成功。
在这里插入图片描述

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

总结

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2340547.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

健身房管理系统(springboot+ssm+vue+mysql)含运行文档

健身房管理系统(springbootssmvuemysql)含运行文档 健身房管理系统是一个全面的解决方案&#xff0c;旨在帮助健身房高效管理其运营。系统提供多种功能模块&#xff0c;包括会员管理、员工管理、会员卡管理、教练信息管理、解聘管理、健身项目管理、指导项目管理、健身器材管理…

Java从入门到“放弃”(精通)之旅——继承与多态⑧

Java从入门到“放弃”&#xff08;精通&#xff09;之旅&#x1f680;——继承与多态⑧ 一、继承&#xff1a;代码复用的利器 1.1 为什么需要继承&#xff1f; 想象一下我们要描述狗和猫这两种动物。如果不使用继承&#xff0c;代码可能会是这样&#xff1a; // Dog.java pu…

DeepSeek开源引爆AI Agent革命:应用生态迎来“安卓时刻”

开源低成本&#xff1a;AI应用开发进入“全民时代” 2025年初&#xff0c;中国AI领域迎来里程碑事件——DeepSeek开源模型的横空出世&#xff0c;迅速在全球开发者社区掀起热潮。其R1和V3模型以超低API成本&#xff08;仅为GPT-4o的2%-10%&#xff09;和本地化部署能力&#x…

使用 LangChain + Higress + Elasticsearch 构建 RAG 应用

RAG&#xff08;Retrieval Augmented Generation&#xff0c;检索增强生成&#xff09; 是一种结合了信息检索与生成式大语言模型&#xff08;LLM&#xff09;的技术。它的核心思想是&#xff1a;在生成模型输出内容之前&#xff0c;先从外部知识库或数据源中检索相关信息&…

Self-Ask:LLM Agent架构的思考模式 | 智能体推理框架与工具调用实践

作为程序员&#xff0c;我们习惯将复杂问题分解为可管理的子任务&#xff0c;这正是递归和分治算法的核心思想。那么&#xff0c;如何让AI模型也具备这种结构化思考能力&#xff1f;本文深入剖析Self-Ask推理模式的工作原理、实现方法与最佳实践&#xff0c;帮助你构建具有清晰…

安装 vmtools

第2章 安装 vmtools 1.安装 vmtools 的准备工作 1&#xff09;现在查看是否安装了 gcc ​ 查看是否安装gcc 打开终端 输入 gcc - v 安装 gcc 链接&#xff1a;https://blog.csdn.net/qq_45316173/article/details/122018354?ops_request_misc&request_id&biz_id10…

【论文阅读20】-CNN-Attention-BiGRU-滑坡预测(2025-03)

这篇论文主要探讨了基于深度学习的滑坡位移预测模型&#xff0c;结合了MT-InSAR&#xff08;多时相合成孔径雷达干涉测量&#xff09;观测数据&#xff0c;提出了一种具有可解释性的滑坡位移预测方法。 [1] Zhou C, Ye M, Xia Z, et al. An interpretable attention-based deep…

滑动窗口学习

2090. 半径为 k 的子数组平均值 题目 问题分析 给定一个数组 nums 和一个整数 k&#xff0c;需要构建一个新的数组 avgs&#xff0c;其中 avgs[i] 表示以 nums[i] 为中心且半径为 k 的子数组的平均值。如果在 i 前或后不足 k 个元素&#xff0c;则 avgs[i] 的值为 -1。 思路…

# 基于PyTorch的食品图像分类系统:从训练到部署全流程指南

基于PyTorch的食品图像分类系统&#xff1a;从训练到部署全流程指南 本文将详细介绍如何使用PyTorch框架构建一个完整的食品图像分类系统&#xff0c;涵盖数据预处理、模型构建、训练优化以及模型保存与加载的全过程。 1. 系统概述 本系统实现了一个基于卷积神经网络(CNN)的…

v-html 显示富文本内容

返回数据格式&#xff1a; 只有图片名称 显示不出完整路径 解决方法&#xff1a;在接收数据后手动给img格式的拼接vite.config中的服务器地址 页面&#xff1a; <el-button click"">获取信息<el-button><!-- 弹出层 --> <el-dialog v-model&…

【数学建模】孤立森林算法:异常检测的高效利器

孤立森林算法&#xff1a;异常检测的高效利器 文章目录 孤立森林算法&#xff1a;异常检测的高效利器1 引言2 孤立森林算法原理2.1 核心思想2.2 算法流程步骤一&#xff1a;构建孤立树(iTree)步骤二&#xff1a;构建孤立森林(iForest)步骤三&#xff1a;计算异常分数 3 代码实现…

<项目代码>YOLO小船识别<目标检测>

项目代码下载链接 YOLOv8是一种单阶段&#xff08;one-stage&#xff09;检测算法&#xff0c;它将目标检测问题转化为一个回归问题&#xff0c;能够在一次前向传播过程中同时完成目标的分类和定位任务。相较于两阶段检测算法&#xff08;如Faster R-CNN&#xff09;&#xff0…

Crawl4AI:打破数据孤岛,开启大语言模型的实时智能新时代

当大语言模型遇见数据饥渴症 在人工智能的竞技场上&#xff0c;大语言模型&#xff08;LLMs&#xff09;正以惊人的速度进化&#xff0c;但其认知能力的跃升始终面临一个根本性挑战——如何持续获取新鲜、结构化、高相关性的数据。传统数据供给方式如同输血式营养支持&#xff…

【Spring Boot】MyBatis多表查询的操作:注解和XML实现SQL语句

1.准备工作 1.1创建数据库 &#xff08;1&#xff09;创建数据库&#xff1a; CREATE DATABASE mybatis_test DEFAULT CHARACTER SET utf8mb4;&#xff08;2&#xff09;使用数据库 -- 使⽤数据数据 USE mybatis_test;1.2 创建用户表和实体类 创建用户表 -- 创建表[⽤⼾表…

[Android]豆包爱学v4.5.0小学到研究生 题目Ai解析

拍照解析答案 【应用名称】豆包爱学 【应用版本】4.5.0 【软件大小】95mb 【适用平台】安卓 【应用简介】豆包爱学&#xff0c;一般又称河马爱学教育平台app,河马爱学。 关于学习&#xff0c;你可能也需要一个“豆包爱学”这样的AI伙伴&#xff0c;它将为你提供全方位的学习帮助…

Qt开发:软件崩溃时,如何生成dump文件

文章目录 一、程序崩溃时如何自动生成 Dump 文件二、支持多线程中的异常捕获三、在 DLL 中使用 Dump 捕获四、封装成可复用类五、MiniDumpWriteDump函数详解 一、程序崩溃时如何自动生成 Dump 文件 步骤一&#xff1a;包含必要的头文件 #include <Windows.h> #include …

普罗米修斯Prometheus监控安装(mac)

普罗米修斯是后端数据监控平台&#xff0c;通过Node_exporter/mysql_exporter等收集数据&#xff0c;Grafana将数据用图形的方式展示出来 官网各平台下载 Prometheus安装&#xff08;mac&#xff09; &#xff08;1&#xff09;通过brew安装 brew install prometheus &…

Python SQL 工具包:SQLAlchemy介绍

SQLAlchemy 是一个功能强大且灵活的 Python SQL 工具包和对象关系映射&#xff08;ORM&#xff09;库。它被广泛用于与关系型数据库进行交互&#xff0c;提供了从低级 SQL 表达式到高级 ORM 的完整工具链。SQLAlchemy 的设计目标是让开发者能够以 Pythonic 的方式操作数据库&am…

Shader属性讲解+Cg语言讲解

CPU调用GPU传递数据 修改Render组件的material属性 在脚本中更改游戏物体材质颜色代码示例&#xff1a; using System.Collections; using System.Collections.Generic; using UnityEngine;public class TestFixedColor : MonoBehaviour {void Start(){//创建预制体GameObjec…

基于LightGBM-TPE算法对交通事故严重程度的分析与可视化

基于LightGBM-TPE算法对交通事故严重程度的分析与可视化 原文&#xff1a; Analysis and visualization of accidents severity based on LightGBM-TPE 1. 引言部分 文章开篇强调了道路交通事故作为意外死亡的主要原因&#xff0c;引起了多学科领域的关注。分析事故严重性特…