一. Python项目虚拟环境创建
在项目开发过程中会下载很多第三方库,有时不同项目对同一个库的依赖版本不同,如果所有项目都使用同一个python环境就会起冲突不便于管理。因此,实际开发中会为每一个项目都单独创建一个python的虚拟环境。这里的虚拟环境本质上是对系统python环境的一个拷贝,它依赖系统环境又和系统环境隔离。
流行的python虚拟环境管理工具有很多最常用的是virtualenv。
virtualenv
安装
pip install virtualenv
创建虚拟环境
cd到你想要创建虚拟环境的目录,然后运行下面的命令:
virtualenv env # env是虚拟环境的名字,可以自定义
运行完这个命令之后,会在当前目录下创建一个名为env
的文件夹,这个文件中的内容就是环境的文件。
如果系统上有多个python环境可以通过-p
参数指定不同python版本来创建对应的虚拟环境
virtualenv -p C:\Python39\python.exe env # 指定对应版本的python创建虚拟环境
使用虚拟环境
- Mac,linux
- 运行
source venv/bin/activate
- windows
- 运行
venv\scripts\activate
进入虚拟环境后会在命令行的用户名前加上(虚拟环境名)
。
注意:进入虚拟环境后只在当前终端中有效,新开启的终端需要再次重新进入。如果关闭了终端会退出虚拟环境,再次进入的时候,需要重新进入虚拟环境。
退出虚拟环境
-
如果是切换,直接进入其他虚拟环境即可
-
主动退出当前虚拟环境
运行命令
bash deactivate
pycharm
也可以直接使用pycharm工具创建虚拟环境,只需要在创建项目的时候勾选创建虚拟环境即可。
按照默认配置创建好项目后会在当前项目根目录下创建虚拟环境env
。
二. 下载django
下载django之前先去官方文档看下最新的版本号是多少,找个目前长期稳定版
我这里指定的是3.2.15这个版本号
pip install django==3.2.15
如果下载特别慢的话可以指定一下国内源
注意:有可能国内源没有这个版本。
pip install django==3.2.15 pip -i http://pypi.douban.com/simple --trusted-host pypi.douban.com
三、创建django项目和应用
安装django后,会安装一个django-admin
程序,用来创建和管理django项目。
要创建一个django项目可以运行如下命令:
django-admin startproject <project_name> [project_path]
其中startproject
是创建子命令,<project_name>
是项目名必须提供,project_path
是创建项目的路径,如果省略会把项目创建在当前目录下。
例如运行命令:
django-admin startproject study_django
这会在当前目录创建名为study_django
的目录,目录中的内容如下:
study_django/ # 项目根目录,目录名可以随意更换
manage.py # 管理django项目命令行工具
study_django/ # 项目目录,python包,
__init__.py
settings.py # 项目配置文件
urls.py # 项目根路由文件
asgi.py # 兼容asgi协议的web服务器入口文件
wsgi.py # 兼容wsgi协议的web服务器入口文件
但是这样项目根目录文件名和项目目录名相同,有时候我们不需要创建最外层的目录,只把项目生成在当前目录下可以运行如下命令:
django-admin startproject study_project . # 路径参数是. 代表当前目录
运行项目
在项目根目录下运行如下命令:
python manage.py runserver ip:端口
命令不带ip和端口参数,服务将默认运行在127.0.0.1:8000
。
运行成功后在浏览器访问http://127.0.0.1:8000/
将会看到欢迎页面。
注意:这只是一个Django 自带的用于开发的简易服务器,它为开发而设计,不要应用在生产环境中。
修改时区和语言
上一步中的欢迎页面看起来是英文的,django框架做了国际化,我们只需要在settings.py
中修改如下配置
LANGUAGE_CODE = 'zh-hans' # 语言配置为中文
TIME_ZONE = 'Asia/Shanghai' # 时区配置为亚洲上海
即可配置好中文和正确的时区。再次访问http://127.0.0.1:8000/
,欢迎页面如下:
设置django服务
右上角点击运行,运行成功。
创建django应用
什么是应用
在Django中有项目和应用的概念。
每一个应用都是一个 Python 包,并且遵循着相同的约定和结构。
Django 自带一个工具,可以帮你生成应用的基础目录结构,这样你就能专心写代码,而不是创建目录了。
项目和应用有什么区别?应用是一个专门做某件事的网络应用程序——比如博客系统,或者公共记录的数据库,或者小型的投票程序。项目则是一个网站使用的配置和应用的集合。项目可以包含很多个应用。应用可以被很多个项目使用。
也可以简单理解为一个项目即是一个网站,一个应用就是这个网站的某一个功能板块。
例如:豆瓣网是一个项目,其中读书,电影,音乐...等是一个个的应用。
创建应用
在项目根目录下运行如下命令:
python manage.py startapp crm
其中startapp
是子命令,crm
是应用名。
这将会在项目根目录下创建一个 crm
目录,它的目录结构大致如下:
crm/
__init__.py
admin.py # django后台站点配置入口
apps.py # 应用信息配置入口
migrations/ # 数据库迁移历史信息目录
__init__.py
models.py # 数据模型模块
tests.py # 单元测试
views.py # 应用视图模块
这个目录结构包括了crm
应用的全部内容。
第一个视图
打开crm/views.py
,编写如下代码:
from django.http import HttpResponse
def index(request):
return HttpResponse("我是首页面")
这是 Django 中最简单的视图。如果想要看见效果,需要将一个url映射到它。
添加路由
在crm
目录下创建子路由模块urls.py
,编写如下代码:
from django.urls import path
from . import views
urlpatterns = [
path('index/', views.index)
]
再到主路由模块study_django/urls.py
中添加子路由如下:
from django.urls import path, include
urlpatterns = [
...
path('crm/', include('crm.urls')) # 添加一条include
]
做完上面的操作之后,重新运行服务,就可以在浏览器中通过urlhttp://127.0.0.1:8000/crm/index/
访问在上每一步创建的视图。如果一切正常你会看到如下页面: