Django学习笔记(一)

简介: Django学习笔记(一)

Django的特点

Django 是从真实世界的应用中成长起来的,它是由美国堪萨斯(Kansas)州Lawrence 城中的一个网络开发团队的。它诞生于2003  年秋天,那时Lawrence Journal-World 报纸的程序员Adrian Holovaty和Simon Willison开始用  Python 来编写程序。

最初用来制作在线新闻Web站点,并于2005年加入了 BSD(Berkeley Software Distribution)许可证家族,成为开源网络框架。2008年Django有了DSF(Django Software Foundation),Django的发展就由这个基金会来主导。

image.png经过Django数10年的发展,官网介绍官网的特点如上图:“Django  makes it easier to build better Web apps more quickly and with less  code.”总的来说,Django已经具备以下特点:

  • 容易上手,开发速度快,安全性强。
  • 完善的文档:Django有众多的应用和完善的在线文档
  • 集成数据访问组件:Django的Model层自带数据库ORM组件,开发者无需学习其他数据库访问技术(DBI、SQLAlchemy等)。
  • 强大的URL映射技术:Django使用正则表达式管理URL映射,方便灵活。
  • 后台管理系统自动生成:自带完整的后台数据库管理Web控制台,用户可以基于此构建自己的后台管理模块。

安装Django

在用户安装完Python环境后,可以利用pip工具使用如下命令安装Django:

pip install django

该命令将自动下载Django最新版本并进行安装。安装完成后可以进入Python,通过进入Python环境验证Django是否安装成功:

# 验证Django是否安装成功
import django
print(django.VERSION)

如下图,Django的版本是2.2.4

image.png

如果读者想安装其他版本的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的目录内容如下:

image.png

这几个默认生成的文件解释如下:

  • 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

命令完成后会在项目目录中建立如下目录及文件结构:

image.png

对其中的文件功能解析如下。

  • 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地址即可看到测试页面,证明安装和启动正确,恭喜你。

image.png

可以使用Control+C来关闭服务器。

至此,我们已经看到了第一个网页,虽然很简陋,但我们可以慢慢学习Django然后不断完善它。

   

相关文章
|
Python
基于Django的Python应用—学习笔记—功能完善
基于Django的Python应用—学习笔记—功能完善
|
存储 数据库 数据安全/隐私保护
基于Django的Python应用——学习笔记
基于Django的Python应用——学习笔记
|
安全 中间件 开发者
【Django学习笔记 - 9】:装饰器在类视图中的使用、中间件(开发中间件)、知识点小补充(子应用的集中管理)
【Django学习笔记 - 9】:装饰器在类视图中的使用、中间件(开发中间件)、知识点小补充(子应用的集中管理)
704 82
【Django学习笔记 - 9】:装饰器在类视图中的使用、中间件(开发中间件)、知识点小补充(子应用的集中管理)
|
数据库 数据安全/隐私保护 Python
【Django学习笔记 - 19】:认证、自定义认证、权限、限流
【Django学习笔记 - 19】:认证、自定义认证、权限、限流
410 0
【Django学习笔记 - 19】:认证、自定义认证、权限、限流
|
缓存 前端开发 数据库
【Django学习笔记 - 18】:drf请求响应简介、基类(APIView、GenericAPIView)、mixin扩展类与三级视图、视图集与路由2
【Django学习笔记 - 18】:drf请求响应简介、基类(APIView、GenericAPIView)、mixin扩展类与三级视图、视图集与路由
238 0
【Django学习笔记 - 18】:drf请求响应简介、基类(APIView、GenericAPIView)、mixin扩展类与三级视图、视图集与路由2
|
XML JSON 前端开发
【Django学习笔记 - 18】:drf请求响应简介、基类(APIView、GenericAPIView)、mixin扩展类与三级视图、视图集与路由
【Django学习笔记 - 18】:drf请求响应简介、基类(APIView、GenericAPIView)、mixin扩展类与三级视图、视图集与路由
298 0
【Django学习笔记 - 18】:drf请求响应简介、基类(APIView、GenericAPIView)、mixin扩展类与三级视图、视图集与路由
|
XML JSON 前端开发
【Django学习笔记 - 17】:序列化和反序列化(restful接口小案例、DRF的工程搭建、序列化器与序列化、验证、保存)
【Django学习笔记 - 17】:序列化和反序列化(restful接口小案例、DRF的工程搭建、序列化器与序列化、验证、保存)
739 0
【Django学习笔记 - 17】:序列化和反序列化(restful接口小案例、DRF的工程搭建、序列化器与序列化、验证、保存)
|
JSON 前端开发 JavaScript
【Django学习笔记 - 16】:DRF概述、Web应用模式(前后端分离简介)
【Django学习笔记 - 16】:DRF概述、Web应用模式(前后端分离简介)
493 0
【Django学习笔记 - 16】:DRF概述、Web应用模式(前后端分离简介)
|
Python
【Django学习笔记 - 15】:admin站点编辑(关联对象在列表页中添加,编辑页调整、图片设置)2
【Django学习笔记 - 15】:admin站点编辑(关联对象在列表页中添加,编辑页调整、图片设置)
180 0
【Django学习笔记 - 15】:admin站点编辑(关联对象在列表页中添加,编辑页调整、图片设置)2