Django安装及第一个项目

1、安装python

复制代码
C:\Users\leell>py --version
Python 3.10.6

可以看出我的环境python的版本3.10.6,比较新

2、 Python 虚拟环境创建

2.1 官网教程

目前,有两种常用工具可用于创建 Python 虚拟环境:

  • venv 在 Python 3.3 及更高版本中默认可用,并将 pip 和 Setuptools 安装到 Python 3.4 及更高版本。

  • virtualenv 需要单独安装,但支持 Python 2.7+ 和 Python 3.3+,以及 pip、Setuptools 和 wheel 是 默认情况下,始终安装到创建的虚拟环境中(无论 Python 版本)。

windows下创建venv虚拟环境:

这也是我用的虚拟环境

复制代码
py -m venv <DIR>
<DIR>\Scripts\activate

windows下创建virtualenv虚拟环境:

复制代码
virtualenv <DIR>
<DIR>\Scripts\activate

进入虚拟环境:

复制代码
<DIR>\Scripts\activate

2.2 实践操作

创建虚拟环境:

复制代码
py -m venv test12

进入虚拟环境:

复制代码
D:\>cd test12

D:\test12>Scripts\activate

安装Django:

复制代码
(test12) D:\test12>pip install Django
Collecting Django
  Downloading Django-5.0.3-py3-none-any.whl (8.2 MB)
     ---------------------------------------- 8.2/8.2 MB 7.7 MB/s eta 0:00:00
Collecting tzdata
  Downloading tzdata-2024.1-py2.py3-none-any.whl (345 kB)
     ---------------------------------------- 345.4/345.4 kB 7.1 MB/s eta 0:00:00
Collecting sqlparse>=0.3.1
  Downloading sqlparse-0.4.4-py3-none-any.whl (41 kB)
     ---------------------------------------- 41.2/41.2 kB 1.9 MB/s eta 0:00:00
Collecting asgiref<4,>=3.7.0
  Downloading asgiref-3.8.1-py3-none-any.whl (23 kB)
Collecting typing-extensions>=4
  Using cached typing_extensions-4.10.0-py3-none-any.whl (33 kB)
Installing collected packages: tzdata, typing-extensions, sqlparse, asgiref, Django
Successfully installed Django-5.0.3 asgiref-3.8.1 sqlparse-0.4.4 typing-extensions-4.10.0 tzdata-2024.1

[notice] A new release of pip available: 22.2.1 -> 24.0
[notice] To update, run: python.exe -m pip install --upgrade pip

查看Django:

复制代码
(test12) D:\test12>django-admin

Type 'django-admin help <subcommand>' for help on a specific subcommand.

Available subcommands:

[django]
    check
    compilemessages
    createcachetable
    dbshell
    diffsettings
    dumpdata
    flush
    inspectdb
    loaddata
    makemessages
    makemigrations
    migrate
    optimizemigration
    runserver
    sendtestemail
    shell
    showmigrations
    sqlflush
    sqlmigrate
    sqlsequencereset
    squashmigrations
    startapp
    startproject
    test
    testserver
Note that only Django core commands are listed as settings are not properly configured (error: Requested setting INSTALLED_APPS, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings.).

3、开始第一个Django Demo

生成Diango项目:

复制代码
django-admin startproject HelloWorld

查看文件:

复制代码
(test12) D:\test12>cd HelloWorld

(test12) D:\test12\HelloWorld>tree
卷 软件 的文件夹 PATH 列表
卷序列号为 0005-FA19
D:.
└─HelloWorld
    └─__pycache__

(test12) D:\test12\HelloWorld>

目录说明:

  • HelloWorld: 项目的容器。
  • manage.py: 一个实用的命令行工具,可让你以各种方式与该 Django 项目进行交互。
  • HelloWorld/init.py: 一个空文件,告诉 Python 该目录是一个 Python 包。
  • HelloWorld/asgi.py: 一个 ASGI 兼容的 Web 服务器的入口,以便运行你的项目。
  • HelloWorld/settings.py: 该 Django 项目的设置/配置。
  • HelloWorld/urls.py: 该 Django 项目的 URL 声明; 一份由 Django 驱动的网站"目录"。
  • HelloWorld/wsgi.py: 一个 WSGI 兼容的 Web 服务器的入口,以便运行你的项目。
  • pycache:对于一个*.py文件,在执行过程中解释器会先把*.py文件编译为字节码,并缓存在*.pyc文件中

4、启动Diango项目

复制代码
(test12) D:\test12\HelloWorld>py manage.py runserver 0.0.0.0:8000
Watching for file changes with StatReloader
Performing system checks...

System check identified no issues (0 silenced).

You have 18 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.
Run 'python manage.py migrate' to apply them.

查看效果:

要进行python开发,如果只是作为开发,而没有其他需求,系统可以选择ubantu

参考文章:

安装包 - Python 打包用户指南

Django 创建第一个项目 | 菜鸟教程

相关推荐
喵个咪几秒前
GoWind ShortPlay 拆解:不用模型的推荐闭环——埋点回流、三路召回与已看去重
后端·架构·go
喵个咪几秒前
GoWind ShortPlay 深度拆解:三服务 BFF + Core,一条请求的完整工程链路
后端·架构·go
devilnumber2 分钟前
springboot的保护机制怎么实现的,为何能做到服务不宕机
java·spring boot·后端
未秃头的程序猿4 分钟前
一次重复扣款的复盘:分布式锁加错了维度,比不加锁更危险
java·redis·后端
估值探索者6 分钟前
【Python量化技术指标实战 02】MACD金叉也分强弱?手工算一次 DIF/DEA 就懂了
java·开发语言·python·股票数据·股票数据api接口
魔都吴所谓19 分钟前
【我的开源】Python实现一个离线 PDF 工具箱:架构、骑缝章与踩坑记录
python·pdf·开源
彭亚川Allen26 分钟前
从零手搓 RAG 之分块策略
前端·后端·面试
喵个咪27 分钟前
GoWind Ops 拆解:不引入分布式锁的多副本协调
后端·go·自动化运维
用户03321266636739 分钟前
Python 自动化办公:如何轻松在 PDF 中导入与导出表单数据
python