Django搭建个人博客Blog-Day01

news2024/11/19 10:43:48

创建虚拟环境

虚拟环境相当于一个抽屉,在这个抽屉里面安装的任何软件,都不会影响到其他抽屉,所以利用虚拟环境就可以做到同时安装不同版本的第三方库,而互不影响。

使用虚拟环境的目的是为了防止一些第三方库出现版本不兼容问题,在不同的虚拟环境中可以安装不同版本的第三方库,用来测试程序在不同版本中是否会出现bug

安装虚拟环境
# windows下
pip install virtualenvwrapper-win
# linux下
pip install virtualenvwrapper
使用虚拟环境
  1. 创建虚拟环境

mkvirtualenv  虚拟环境的名字
# eg:mkvirtualenv wsl
  1. 进入虚拟环境

workon 虚拟环境的名字
  1. 删除虚拟环境

rmvirtualenv 虚拟环境的名字
  1. 查看所有的虚拟环境

workon
  1. 退出当前虚拟环境

deactivate
  1. 如果安装了多个python解释器,可以指定虚拟环境使用某一个特定的Python解释器

mkvirtualenv --python = 你的Python解释器的路径   虚拟环境的名字
# 例如: mkvirtualenv --python = D:\Tool\python\python.exe   虚拟环境的名字

开始项目

配置环境并创建Django项目
  1. 创建虚拟环境

mkvirtualenv wsl
  1. 进入虚拟环境

workon wsl
  1. 在虚拟环境中安装指定版本的Django

pip install django==2.2
  1. 创建Django项目

注意:必须是在虚拟环境中,切记使用workon进入虚拟环境以后创建

django-admin startproject blog
用pycharm打开创建的项目后进行配置

配置虚拟环境

完成配置后可以启动项目,在浏览器中访问127.0.0.1:8000,如果出现绿色“小火箭”则表示项目创建成功。

项目文件介绍

文件名

文件作用

manage.py

启动项目相关

urls.py

路由相关

setting.py

配置文件

wsgi.py

用于在linux上部署设置(一般用于生产环境中配置使用)

db.sqlite3

小型文件数据库,可以删除

在实际开发中,会有多个不同的环境,如开发环境,生产环境,而不同的环境的配置信息会不一样,

实际开发中,对开发环境和生产环境的一些配置项要加以区分,在manage.py文件中,有对应代码告诉Django要使用的对应的配置信息所在的位置:

# manage.py中
# 通过这行代码 让django知道配置文件在哪里
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'blog.settings')

由于之后在Linux上部署的时候需要使用wsgi.py文件,所以manage.py的修改建议和wsgi.py的修改保持一致,以防止在生产环境中出现Bug

配置文件的设置
  1. 在blog目录下新建一个名为setting的包

  1. 在setting包中创建一个dev.py文件

  1. 复制settings.py文件中的内容到dev.py

  1. 删除settings.py文件

  1. 在manage.py和wsgi.py文件中更改代码如下,告诉Django使用新的配置文件dev.py

def main():
    os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'blog.setting.dev')
配置数据库连接
  1. 创建一个数据库名为blog

  1. 在文件setting/dev.py中找到DATABASES,更改为如下代码:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'blog',
        'USER':'root',
        'PASSWORD':'admin',   # 这里写的是自己数据库的密码
        'HOST':'127.0.0.1',
        'PORT':3306
    }
}
  1. 安装数据库驱动(一定要是进入虚拟环境,在虚拟环境下安装驱动)

pip install mysqlclient
  1. 启动项目,不报错则表示数据库配置成功

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

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

相关文章

c++11 标准模板(STL)(std::forward_list)(五)

定义于头文件 <forward_list> template< class T, class Allocator std::allocator<T> > class forward_list;(1)(C11 起)namespace pmr { template <class T> using forward_list std::forward_list<T, std::pmr::polymorphic_…

当我们在谈论DataOps时,我们到底在谈论什么

1. DataOps到底是什么&#xff1f; 伴随着全球数字化转型的高速发展&#xff0c;在云计算、物联网、5G、边缘计算、元宇宙等新技术的驱动下&#xff0c;数据爆炸的时代已经来临。IDC Global DataSphere显示&#xff0c;2021年&#xff0c;全球数据总量达到了84.5ZB&#xff0c…

Java多线程案例——阻塞队列(生产者消费者模型)

一&#xff0c;阻塞队列1.阻塞队列的概念和作用阻塞队列同数据结构中的队列一样都遵守“先进先出”的原则&#xff08;不了解队列相关知识的朋友请查看之前队列的博文&#xff1a;(6条消息) 栈和队列&#xff08;内附模拟实现代码&#xff09;_徐憨憨&#xff01;的博客-CSDN博…

功率放大模块如何选择(安泰功率放大器模块产品介绍)

功率放大器模块系列产品介绍 一、功率放大模块介绍 功率放大模块&#xff1a; 功率放大模块具有体积小&#xff0c;集成度高&#xff0c;使用方便&#xff0c;应用广泛等优点&#xff0c;凭借着输出频率广、输出电压高、输出功率大等特性&#xff0c;能够广泛应用在各种领域…

动态范围控制原理

DRC介绍 开门见山&#xff0c;动态范围的定义就是信号的最大幅值和最小幅值比值的对数(单位dB)&#xff0c; 动态范围会受到系统中各个环节的影响。例如同样是这段音乐&#xff0c;在一个40dB背景噪声的环境中播放&#xff0c;那么由于掩蔽效应等因素的影响&#xff0c;最终实际…

前端跳转第三方网页中间页

前端跳转安全提示 掘金跳转中间页背景介绍跳转过渡页的优点实现原理解析哈喽啊小伙伴们久等了 消失了有半年了 &#xff0c;因为个人工作原因没腾出时间给大家分享日常踩坑和特殊功能的讲解。不过这次我回来了就要好好分享了背景介绍 前端小伙伴一定知道CSDN 和 稀土掘金 两大…

Dev-C++下载安装详细教程

文章目录前言一、下载Dev-C二、安装Dev-C三、使用Dev-C打印HelloWorld总结前言 本文总结了关于Dev-C下载与安装的详细过程&#xff0c;并使用Dev-C打印了“Hello World!”。本篇博客面向C语言初学者&#xff0c;或者考研复试的学生使用&#xff0c;因为大部分学校的考研复试都使…

为什么 TCP 建立连接需要三次握手

TCP 协议是我们几乎每天都会接触到的网络协议&#xff0c;绝大多数网络连接的建立都是基于 TCP 协议的&#xff0c;学过计算机网络或者对 TCP 协议稍有了解的人都知道 —— 使用 TCP 协议建立连接需要经过三次握手&#xff08;three-way handshake&#xff09;。 如果让我们简…

多线程案例-线程池

1.什么是线程池线程存在的意义是当使用进程进行并发编程太重了,此时引入了一个"轻量级的"进程-线程.创建线程比创建进程更高效,销毁线程比销毁进程更高效,调度线程比调度进程更高效..此时我们就用多线程来代替进程进行并发编程了,但是随着对性能的要求的提高,线程相对…

大数据必学Java基础(一百一十八):什么是Maven和它的下载整合

文章目录 什么是Maven和它的下载整合 一、什么是Maven 二、IDEA默认整合了Maven 三、下载地址

【Linux】RHEL8 中nmcli使用,必备!

redhat8中nmcli日常使用 第 2 章 配置以太网连接 Red Hat Enterprise Linux 为管理员提供不同的选项来配置以太网连接。例如&#xff1a; 在命令行中使用 nmcli 配置连接。使用 nmtui 在基于文本的用户界面中配置连接。使用 RHEL 系统角色在一个或多个主机上自动配置连接。使…

电脑小问题:定时关机的设置

设置定时关机生活中&#xff0c;我们有时候需要对电脑进行定时关机。那么&#xff0c;如何设置定时关机呢&#xff1f;步骤如下&#xff1a; 1. 按 win R &#xff0c;弹出命令窗口&#xff0c;输入 taskschd.msc &#xff0c;点击确定。 2. 弹出任务计划程序窗口&#xff0c;…

使用ResNet34实现CIFAR10数据集的训练

如果对你有用的话&#xff0c;希望能够点赞支持一下&#xff0c;这样我就能有更多的动力更新更多的学习笔记了。&#x1f604;&#x1f604; 使用ResNet进行CIFAR-10数据集进行测试&#xff0c;这里使用的是将CIFAR-10数据集的分辨率扩大到32X32&#xff0c;因为算力相关的…

摘要/哈希/散列算法MD5 SHA1 SHA256 SHA512的区别和MAC算法

一、摘要算法大致都要经过以下步骤 1. 明文数据预处理 1.1 填充比特 MD5、SHA1、SHA256 的分组长度都是512bit 需要填充比特使其位长对512求余的结果等于448 SHA512 的分组长度是 1024bit 需要填充比特使其对1024求余的结果等于896 相同&am…

ECharts基本使用

文章目录Echarts概述Echarts初体验ECharts基础配置Echarts社区介绍Echarts-map使用Echarts概述 常见的数据可视化库&#xff1a; D3.js 目前 Web 端评价最高的 Javascript 可视化工具库(入手难)ECharts.js 百度出品的一个开源 Javascript 数据可视化库Highcharts.js 国外的前…

项目合并后,font字体资源被替换导致TextMeshPro不能显示文字,抢救方法

一&#xff0c;字体消失 项目合并时&#xff0c;因为资源更替&#xff0c;导致TextMeshPro不能找到自己原来使用的font资源&#xff0c;以致不能显示文字。 二、抢救方式 1、找到所有用到TextMeshPro的物体2、把他们的字体重新设置成你要的字体 关键步骤&#xff1a; 1、找…

赛事推荐| 建筑物实例分割和高度估计的多任务学习——2023 IEEE GRSS 数据融合赛道2

1. 赛题名称 联合建筑物提取和高度估计的多任务学习 2. 赛题背景 该轨道定义了建筑物提取和高度估计的联合任务。两者都是建筑改造的两个非常基础和必不可少的任务。与轨道 1 相同&#xff0c;输入数据是多模态光学和 SAR 卫星图像。单视图卫星图像中的建筑物提取和高度估计…

记录redis连接被打满的踩坑之路

一、系统异常现象系统有一个功能向别的系统多线程推送用户数据信息&#xff0c;前几天发现该推送功能报内部错误&#xff0c;经过查看后台日志文件&#xff0c;发现org.redisson.client.RedisConnectionException: Unable to connect to Redis server:&#xff0c;io.netty.cha…

使用docker训练yolov5

使用docker训练yolov5 配置docker&#xff0c;配置的好处是docker中的环境或者说容器坏了不影响主机&#xff0c;并且可以减少配置环境的时间和精力 sudo apt update sudo apt install apt-transport-https ca-certificates curl gnupg-agent software-properties-common # c…

Docker 部署SQL Server 2017

Docker 部署SQL Server 2017 Docker部署 registry Docker搭建 svn Docker部署 Harbor Docker 部署SQL Server 2017 Docker 安装 MS SqlServer Docker部署 Oracle12c 文章目录Docker 部署SQL Server 2017一、部署步骤1.下载镜像2.创建容器并运行二、参考文档一、部署步骤 1.下…