前言:最近正在学习Django框架,所以想总结一下来加深自己的理解,也想分享给大家,如果有不对的地方,还望指出。
安装Django,首先我们需要先创建一个虚拟环境,打开cmd,输入命令
mkvirtualenv env
进行创建虚拟环境,此处env可以更改为你想创建的虚拟环境的名字,如果没有virtualenv的,可以打开cmd,输入命令(这里适用windows操作系统)进行安装
pip install virtualenv virtualenvwrapper-win
安装以后就可以创建虚拟环境了,这里提供一些虚拟环境的常用命令
mkvirtualenv env #创建虚拟环境
rmvirtualenv env #移除虚拟环境
workon #查看虚拟环境
workon env #进入虚拟环境
创建好虚拟环境后就使用命令,进入到虚拟环境中然后进行Django安装,在安装前,需要保证已进入要进行安装的虚拟环境中。
如上图所示,以进入创建好的虚拟环境后,输入第一行代码进行安装,这里用的是豆瓣开源,下载的要快一下,安装完成后输入第二行代码,测试是否安装成功。
注:这里我们安装的是Django4.2版本,对应的python版本建议3.8-3.10
pip install Django==4.2 -i https://pypi.douban.com/simple
#查看是否安装成功
pip show Django
如果出现如下图所示,则Django安装成功。
一种是使用命令的方式,先打开pycharm软件,进入要创建Django项目的文件中,打开终端
输入指令,注意,终端的环境是否是所需要的虚拟环境,如图
如不是在虚拟环境中,则
点击此处,添加新的解释器
添加本地解释器
点击现有,
找到 下图路径下的python.exe,点击确认
然后就修改成功了,此时在进入终端,然后输入指令并创建
Django-admin startporject (项目名称)
第二种办法则是使用pycharm专业版直接创建Django项目,
当文件创建完成后,看到许多个文件,那接下来让我们了解一下各个文件的作用或者说功能
_init_.py:告诉python项目这是一个python包,暂无内容,后期一些工具初始化可能会用到
asgi.py:定义asgi的接口信息,和wsgi类似,Django3.0以后新增的文件,相比wsgi,asgi实现了异步出来,用
于启动异步通信服务,比如:实现在线聊天等异步通信功能
settings.py:Django项目中的配置文件,默认装袋其中定义了本项目引用的组件,项目名,数据库,静态资源等
urls.py:维护项目的url路由映射,即定义当前客户端访问时由那个模块进行响应
wsgi.py:python服务器的网关接口,是python应用与web服务器之间的接口也,用于Django项目在服务器上的部
署和上线
manage.py:是Django用于管理本项目的命令行工具,之后进行站点运行,数据库自动生成等文件都是通过本文件完成
在Django框架中,"应用"(App)是指一个具有特定功能的独立模块,用于实现网站的不同功能模块或组件。而我们在使用pycharm专业版创建项目是,也顺带创建了一个叫做user的应用,而一个网站中,有可能会有很多个"应用"(App),所以我们现在来尝试一下自己手动打开"应用"(App),同样在pycharm中打开终端,输入命令
Python manage.py startapp appname(应用名称)
在这里我们创建一个叫group的app
这里成功创建了一个叫做group的app
而这个app里同样有很多文件夹,而我们也顺便讲一下每个文件夹的作用
Migrations:迁移文件夹,数据库有关操作
_init_.py:使app成为一个包,
Admin.py:管理站点模型的申明文件,默认为空,Django自带的后台管理系统
Apps.py:定义应用信息文件,在其中生成了AppConfig,该类用于定义应用名等数据
Models.py:建立模型,要用数据库就需要使用模型,添加模型层数据类文件
Test.py:测试代码文件
Views.py:定义相应的url函数,也就是视图函数
需要注意的是,在创建完应用后,需要在settings.py中设置一下,如下图
在此处添加app,由于user是在创建项目是就创建好,他有可能是本来就设定好,但也有可能没有自己设定好,所以需要我们手动去设定,不然可能会影响后续功能的使用。
这一步我们尝试运行Django项目,打开终端
python .\manage.py runserver#运行项目
运行成功,我们尝试访问一下
由于我们什么视图函数都没有加入,所以访问的是这个页面 ,想停止运行时只需要ctrl+c即停止项目运行
所谓迁移就是将创建好的模型映射到数据库的一个过程,而由于我暂时还并未写任何的模型,但是我们可以尝试一下
首先,输入命令生成迁移文件
python manage.py makemigrations #生成迁移文件
然后,执行迁移
python manage.py migrate #执行迁移
因为Django框架本身默认的数据库是sqlite,所以我们在讲一下,如何连接sqlite数据库
由于我之前是连接过的,所以直接显示了,然后接着下一步
然后点击确认
如果是第一次使用,在左下角会让你下载sqlite相关运行组件,则点击下载后等待下载完成点击确认或应用即可。
此处需刷新一下
这就是sqlite数据库自带的12个表。