Django入门笔记——第二章、Django安装
时间:2022-07-28
本文章向大家介绍Django入门笔记——第二章、Django安装,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
安装Django
因为Django程序是纯Python代码,所以用户在安装完Python环境后,可以利用pip工具使用如下命令安装Django:
pip install django
该命令将自动下载Django最新版本并进行安装。安装完成后可以进入Python,通过进入Python环境验证Django是否安装成功:
# 验证Django是否安装成功
import django
print(django.VERSION)
如下图,Django的版本是2.2.4
验证django是否安装成功
如果读者想安装其他版本的Django,可以指定版本号:
pip install django==1.11.7
如果使用pip install安装库比较慢,可以用豆瓣的镜像:
pip install django==1.11.7 -i http://pypi.douban.com/simple --trusted-host pypi.douban.com
建立项目
在进行Django开发之前要先建立一个Django项目,命令如下:
# 建立项目——django-admin startproject 站点名称
django-admin startproject mysite
该命令会在当前目录下建立一个子目录mysite,这个子目录就是这个项目的名称,并在其中生成了Django开发的默认文件,mysite的目录内容如下:
在这里插入图片描述
这几个默认生成的文件解释如下:
- manage.py:是Django用于管理本项目的命令行工具,之后进行站点运行、数据库自动生成、静态文件收集等都要通过该文件完成。
- 内层mysite/ 目录中包含了本项目的实际文件,同时因为其中包含init.py 文件,所以该目录也是一个Python包。
- mysite/init.py: 告诉Python该目录是一个Python包,其中暂无内容。
- mysite/settings.py:Django的项目配置文件。默认时,在其中定义了本项目引用的Django组件、Django项目名等。在之后的开发中,还需在其中配置数据库参数、导入的其他Python包等信息。
- mysite/urls.py:维护项目的URL路由映射,即定义客户端访问的URL由哪一个Python模块解释并提供反馈。在默认情况下,其中只定义了“/admin”即管理员站点的解释器。
- mysite.wsgi.py:定义WSGI的接口信息,用于其他Web服务器集成,一般本文件在生成后无须改动。
建立应用
每个Django项目可以包含多个Django应用。进入刚刚创建的的项目目录下,然后建立应用的命令如下:
# python manage.py startapp 应用名称
cd mysite
python manage.py startapp app
命令完成后会在项目目录中建立如下目录及文件结构:
在这里插入图片描述
对其中的文件功能解析如下。
- migrations包:用于在之后定义引用迁移功能。
- init.py:其中暂无内容,该文件的存在使得app 成为一个Python包
- admin.py:管理站点模型的声明文件,默认为空。
- apps.py:应用信息定义文件。在其中生成了类AppConfig,该类用于定义应用名等Meta数据。
- models.py:添加模型层数据类的文件。
- tests.py:测试代码文件。
- views.py:定义URL响应函数。
启动服务
在我们建立完mysite项目后,也就有了一个网站的基本框架,可以利用如下命令:
python manage.py runserver
runserver是启动网站的关键字,默认IP和端口号http://127.0.0.1:8000/,启动Web服务器后即可通过浏览器访问这个IP地址即可看到测试页面,证明安装和启动正确,恭喜你。
在这里插入图片描述
可以使用Control+C
来关闭服务器。
至此,我们已经看到了第一个网页,虽然很简陋,但我们可以慢慢学习Django然后不断完善它。
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Red and Black(DFS 深搜练习)
- Codeforces Round #619 (Div. 2)
- 问题 1255: [蓝桥杯][算法提高]能量项链
- C# 开发技巧]如何防止程序多次运行 线程 进程
- 问题 1433: [蓝桥杯][2013年第四届真题]危险系数
- C# dev GridControl绑定数据不能显示
- Codeforces Round #621 (Div. 1 + Div. 2)(无比自闭的一夜)
- 牛客小白月赛22 A~~J
- P1914 小书童——密码
- sql server 2008 把远程的数据库的数据转移到本地数据数据库里
- 蓝桥杯 试题 基础练习 阶乘计算
- Java Lamada
- 试题 基础练习 高精度加法
- C# devExpress GridControl 行中行 子行 多级行
- 蓝桥杯 试题 基础练习 Huffuman树