Django 从零到一:Django环境设置

文章目录

    • 安装 Python 3.11.0
    • 创建 Python 虚拟环境
      • 激活虚拟环境
      • 退出虚拟环境
    • 配置 `pip` 国内源
    • 安装 Django 4.2
    • 本章小结

常言道:“工欲善其事,必先利其器”。我们先设置一下需要的环境。

我们使用的软件如下:

  1. Python 3.11.0
  2. Django 4.2
  3. Django REST Framework 3.14.0
  4. HTTPie(HTTP 客户端工具)
  5. PostgreSQL 16.2
  6. pgAdmin(用来数据库表结构设计及数据库客户端)
  7. Visual Studio Code(用来编写代码及 Markdown

安装 Python 3.11.0

到 Python 的官网进行下载即可,链接为:https://www.python.org/downloads/release/python-3110a1/。找到文件列表,

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7XLpsoxl-1715342947767)(images/image-20240510160522369.png)]

安装完毕,测试一下 Python 版本是否可用:

$ python -V
Python 3.11.0

创建 Python 虚拟环境

接下来一个比较好的习惯是创建一个 Python 虚拟环境,然后在这个虚拟环境下面进行所有的操作。这样就不会影响系统级别的 Python 环境。在 Python 3 以上的版本中都自带了 venv 模块,因此,可以方便地创建虚拟环境。操作如下:

# 创建 Django from zero to one 虚拟环境
$ python3 -m venv dj_fzto# 创建完成,可以查看一下该目录
$ ls dj_fzto 
bin        include    lib        pyvenv.cfg

激活虚拟环境

创建完成虚拟环境后,如何启用呢?操作如下:

$ source dj_fzto/bin/activate

执行成功,在命令行前面会有 “(dj_fzto)” 字样。

接下来我们更新一下 pip 工具:

$ pip install --upgrade pip

退出虚拟环境

如何退出当前的虚拟环境呢?可以使用 deactivate 命令。如下:

$ deactivate

执行成功,命令行前面会有 “(dj_fzto)” 字样会消失。

配置 pip 国内源

接下来就要为其配置国内的 pip 源。由于网络原因,导致国内用户从国外 pip 仓库下载软件包极其缓慢,不及龟速,甚至超时!不过我们可以使用国内 pip 源来解决这一问题(以下两个 pip 源任选其一即可):

  1. 阿里云 pip

    # 如果没有 .pip 目录就先创建
    mkdir ~/.pip
    cat >> ~/.pip/pip.conf <<EOF
    [global]
    index-url = http://mirrors.aliyun.com/pypi/simple/
    trusted-host = mirrors.aliyun.com
    EOF
    
  2. 豆瓣pip源

    vim ~/.pip/pip.conf
    [global]
    index-url=http://pypi.douban.com/simple/
    trusted-host = pypi.douban.com
    

这样设置完毕之后,安装速度会有很大的提升,可以说是飞一般的感觉。

安装 Django 4.2

现在万事俱备,只差安装 Django 了。我们这里使用的 Django2.0.1,那么我们就安装它了。如果 pip 在命令行不指定版本的话,那么默认就会安装最新的版本。

$ pip install django==4.2
Looking in indexes: http://mirrors.aliyun.com/pypi/simple/
Collecting django==4.2Downloading http://mirrors.aliyun.com/pypi/packages/d9/40/6012f98b14b64b4d3dc47b0c2f116fccbd0795ab35515d0c40dac73b81b8/Django-4.2-py3-none-any.whl (8.0 MB)━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 8.0/8.0 MB 1.1 MB/s eta 0:00:00
Collecting asgiref<4,>=3.6.0Downloading http://mirrors.aliyun.com/pypi/packages/39/e3/893e8757be2612e6c266d9bb58ad2e3651524b5b40cf56761e985a28b13e/asgiref-3.8.1-py3-none-any.whl (23 kB)
Collecting sqlparse>=0.3.1Downloading http://mirrors.aliyun.com/pypi/packages/43/5d/a0fdd88fd486b39ae1fd1a75ff75b4e29a0df96c0304d462fd407b82efe0/sqlparse-0.5.0-py3-none-any.whl (43 kB)━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 44.0/44.0 kB 681.1 kB/s eta 0:00:00
Installing collected packages: sqlparse, asgiref, django
Successfully installed asgiref-3.8.1 django-4.2 sqlparse-0.5.0[notice] A new release of pip available: 22.3 -> 24.0
[notice] To update, run: pip install --upgrade pip

上述三条命令基本等价。安装完毕 Django,我们验证其版本信息:

django-admin --version
4.2

行文至此,我们就结束了这一章的内容。接下来的内容将会开始 Django 之旅。

本章小结

实际工作中关于环境的配置,可以有如下几种办法,适用开发环境及生产环境。如:

  1. 使用 pyenv - 需要安装及配置
  2. 使用 virtualenv - 需要安装及简单配置
  3. 使用 py3+ 版本之后自带的 venv 模块 - 不需要安装及配置,拿来就可用
  4. 使用 pipenv - 需要安装及简单配置

一个原则就是:怎么简单怎么来。

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

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

相关文章

UNXIU

外设可以对程序存储器和选项字节进行擦除和编程&#xff0c;不能对系统存储器进行操作&#xff0c;因为系统存储器是原厂写入的bootloader程序&#xff0c;不允许修改 对于C8T6程序存储容量是64K&#xff0c;一般写一个程序只占前边很小一部分空间&#xff0c;剩下的大部分空间…

网络运维故障排错思路!!!!!(稳了!!!)

1 网络排错的必备条件 为什么要先讲必备条件&#xff1f;因为这里所讲的网络排错并不仅仅是停留在某一个小小命令的使用上&#xff0c;而是一套系统的方法&#xff0c;如果没有这些条件&#xff0c;我真的不能保证下面讲的这些你可以听得懂&#xff0c;并且能运用到实际当中&a…

面试 Java 并发编程八股文十问十答第十五期

面试 Java 并发编程八股文十问十答第十五期 作者&#xff1a;程序员小白条&#xff0c;个人博客 相信看了本文后&#xff0c;对你的面试是有一定帮助的&#xff01;关注专栏后就能收到持续更新&#xff01; ⭐点赞⭐收藏⭐不迷路&#xff01;⭐ 1&#xff09;什么是锁的自适应…

Kubernetes 控制平面的安全管理

目录 1. API Server 安全2. etcd 安全3. 网络策略4. 日志与审计5. 定期安全检查与更新6. 云提供商安全集成 Kubernetes 控制平面的安全管理是维护整个集群稳定性和保护敏感信息的关键。控制平面主要包括 API Server、etcd、Controller Manager 和 Scheduler 组件。 1. API Ser…

高斯-牛顿法C实现

高斯-牛顿法(Gauss-Newton method)是一种用于求解非线性最小二乘问题的迭代优化算法。其核心思想是通过近似二阶泰勒展开来简化求解过程,并利用雅可比矩阵(Jacobian matrix)来更新迭代方向。 下面是一个高斯-牛顿法的简单C语言实现示例。这个示例假定我们有一个非线性最小…

Python模块之Numpy(一)-- 创建数组

Numpy是Python用于数据科学计算的基础模块&#xff0c;NumPy 的数据容器能够保存任意类型的数据&#xff0c;可以无缝快速整合各种数据&#xff0c;有助于更加高效地使用pandas等数据处理工具。 数组操作 以下代码是创建一维数组与多维数组并查看数组属性的过程&#xff1a; i…

Mujoco仿真【将urdf文件转化为xml文件】

最近开始学习mujoco仿真方面的内容 先前写过一篇博客&#xff1a;强化学习&#xff1a;MuJoCo机器人强化学习仿真入门&#xff08;1&#xff09;_mujoco仿真-CSDN博客 简单介绍了mujoco仿真的一些内容&#xff0c;下面想在Mujoco中将urdf转为xml文件&#xff0c;了解到mujoco是…

Unity值类型和引用类型

我们都知道C#编程语言中&#xff0c;数据类型被分为了两种&#xff1a; 值类型引用类型 那么什么是值类型&#xff1f;什么是引用类型呢&#xff1f;它们的区别又是什么&#xff1f; 为了搞清楚这些问题&#xff0c;我们先列举一下我们开发中会碰到的值类型和引用类型。 常…

【AI+老照片焕新】母亲节用AI把时间的印记变成暖心礼物

想念是一张泛黄的照片&#xff0c;藏在抽屉里的笑容&#xff0c;总是那么亲切。今天是母亲节&#xff0c;是不是想给妈妈来点不一样的惊喜&#xff1f;用AI技术&#xff0c;把那些老照片瞬间焕新&#xff0c;让妈妈的青春记忆重放光华&#xff01; 想象一下&#xff0c;妈妈年…

使用Giskard进行LLM的测试

Giskard是一个对AI模型进行测试的平台&#xff0c;可以执行功能验证、安全测试及合规扫描。工具主要分为两大块&#xff1a;Giskard Python库和一个server端Giskard Hub。其中Python库是开源的&#xff0c;github地址&#xff1a;https://github.com/Giskard-AI/giskard 使用G…

(delphi11最新学习资料) Object Pascal 学习笔记---第11章第2节 (从接口引用中提取对象)

11.2.5 从接口引用中提取对象 ​ 在过去多个Object Pascal 语言版本中&#xff0c;当你将一个对象赋值给一个接口变量时&#xff0c;是无法访问原始对象的。有时&#xff0c;开发人员会在接口中添加一个 GetObject 方法来执行该操作&#xff0c;但这种设计非常奇怪。 ​ 在今…

华为校招机试 - 模拟汇编计算(20240508)

题目描述 要求设计一种虚拟机解释器,能解析并执行以下虚拟指令。 虚拟机约定: 32位的整型寄存器有 a0,a1,... ,a31 共 32 个寄存器整个虚拟机只有寄存器和立即数参与计算规则集: dst一定为寄存器src为寄存器或十进制正整数运算结果存在负数场景序号虚拟指令含义1MOV dst…

Unity读书系列《Unity高级编程:主程手记》——C#技术要点

文章目录 前言一、业务逻辑优化技巧二、Unity3d中C#的底层原理三、List底层源码剖析四、Dictionary底层源码剖析五、浮点数的精度问题六、委托、事件、装箱、拆箱七、算法总结 前言 本文旨在总结某一概念的性质&#xff0c;并引出相关的技术要点。如果读者希望深入了解相关技术…

docker部署调度程序

Dockerfile(构建初始镜像) # python:3.8-slim-buster为精简版的python FROM python:3.8-slim-buster # 1059为组的id,newgroup为组名,1088为用户的id,newuser为新用户 RUN groupadd -g 1059 newgroup && \useradd -g -u 1088 -g newgroup -m newuser USER newuser RUN…

Python函数和代码复用-课堂练习[python123题库]

函数和代码复用-课堂练习 1、来自计算机的问候-无参无返回值函数 类型&#xff1a;函数‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪‬‪…

react 屏幕信息滚动

1. 引入组件 import DoScrollingbar from @/components/basic/DoScrollingbar; 2.使用组件 <DoScrollingbar>{flightInfo.historytoday && flightInfo.historytoday.map(item => {return <div><div><span style={{ paddingRight: "10px&q…

如何根据招聘信息打造完美简历

如何根据招聘信息打造完美简历 招聘信息分析简历调整策略个性化与关键词结语 在求职过程中&#xff0c;简历是第一块敲门砖。它不仅展示了你的专业技能和工作经验&#xff0c;还体现了你对所申请职位的理解和热情。然而&#xff0c;如何从招聘信息中提炼关键点&#xff0c;打造…

如何在 Ubuntu 上创建一个 SSH CA 以验证主机和客户端

简介 在配置大量具有许多用户的服务器时&#xff0c;保持基础架构的 SSH 访问一致可能会变得复杂。有许多实现集中式身份验证机构的方法&#xff0c;例如 LDAP&#xff0c;但有时这些方法可能过于复杂。 SSH 实际上具有使用证书机构对服务器和客户端进行身份验证的功能。这种…

chatGLM或chatgpt:什么是tokens以及如何计算tokens长度?

token是什么? 简单的来说tokens就是大语言模型输入的向量数据,它是从原始的文本转化而来。 比如 输入:here is a text demo tokens为:[64790, 64792, 985, 323, 260, 2254, 16948] 解码:将tokens转化为文本 [‘[gMASK]’, ‘sop’, ‘▁here’, ‘▁is’, ‘▁a’, ‘▁…

mysql --- 内置函数

MySQL数据库提供了一系列内置函数&#xff0c;这些函数可以在SQL查询中使用&#xff0c;以执行计算、格式化数据、处理字符串、日期和时间等操作。这些函数可以大致分为几个类别&#xff1a;字符串函数、数值函数、日期和时间函数、控制流程函数、加密和压缩函数等。下面是一些…