Django__项目创建与初识子应用

文章目录


一、Django框架介绍

官方网址

软件框架就是为实现或完成某种软件开发时,提供了一些基础的软件产品,框架的功能类似于基础设施,提供并实现最为基础的软件架构和体系,通常情况下我们依据框架来实现更为复杂的业务程序开发。简而言之,框架就是程序的骨架。

Python中常见的框架:

  • 大包大揽 —— Django 被官方称之为完美主义者的Web框架
  • 力求精简 —— web.py 和 Tornado
  • 新生代微框架 —— Flask 和 Bottle

Django 是一个高级的Python Web框架,它鼓励快速开发和清洁,务实的设计。由经验丰富的开发人员构建,它负责Web开发的许多麻烦,因此开发人员可以专注于编写应用程序,而无需重新创建*。并且它还是免费的、开源的,被官方称之为完美主义者的Web框架。

Django框架的特点:

  1. 快得多,Django旨在帮助开发人员尽快将应用程序从概念到完成。
  2. 令人放心的安全,Django非常重视安全性,并帮助开发人员避免许多常见的安全错误。
  3. 超出可扩展性,Web上一些最繁忙的站点利用了Django快速灵活扩展的能力。

Python和Django的搭配版本:

Django 版本 Python版本
1.8 2.7,3.2(直到2016年底),3.3, 3.4, 3.5
1.9,1.10 2.7, 3.4, 3.5
1.11 2.7 , 3.4 , 3.5 , 3.6
2.0 3.5+

二、Django项目创建

新建项目
Django__项目创建与初识子应用
Django__项目创建与初识子应用

Django__项目创建与初识子应用
目录说明:

  • 外层目录:
    manage.py :一个命令行工具,可以使你用多种方式对 Django 项目进行交互
  • 内层的目录:项目的真正的Python包
  1. init.py :一个空文件,它告诉Python这个目录应该被看做一个Python包
  2. swgi.py :Django3中出现,实现客户端向服务端发送推送的网关
  3. settings.py :项目的配置
  4. urls.py :项目的URL声明
  5. wsgi.py :项目与 WSGI 兼容的Web服务器入口

在Terminal中运行’>python manage.py runserver’
Django__项目创建与初识子应用
然后去浏览器访问 http://127.0.0.1:8000/ 出现以下界面既创建成功。如果端口被占用,可以指定运行服务的端口 ‘>python manage.py runserver 9999’ 。(ctrl+c即可终止)
Django__项目创建与初识子应用
直接运行 ‘>python manage.py’ 可以看到相关操作罗列
Django__项目创建与初识子应用

三、启用后台 Admin 站点管理

站点分为 “内容发布(后台管理)” 和 “公共访问(前台管理)” 两部分,“内容发布” 的部分负责添加、修改、删除内容,开发这些重复的功能是一件单调乏味、缺乏创造力的工作。因此, Django 会根据定义的模型类完全自动地生成管理模块。Django 框架中有一个非常强大的应用功能: 自动管理界面。 常被Web平台管理者使用,去管理整个Web平台。默认情况下,在 settings.py 配置文件中INSTALLED_APPS 包含以下应用程序,为了后续的开发,默认这些应用程序都是包含在里面的。

应用程序 功能
django.contrib.admin 管理网站
django.contrib.auth 认证管理
django.contrib.contenttypes 内容类型的框架
django.contrib.sessions 会话框架
django.contrib.messages 消息框架
django.contrib.staticfiles 管理静态文件的框架

(0). 数据库迁移
使用这些 Django 自带的应用程序,需要我们在数据库中创建一些数据表对应,然后才能使用它们。

python manage.py makemigrations  
# 生成迁移文件,数据库表并真正未存到数据库中,仅仅是中间文件

python manage.py migrate
# 真正要写进数据库要用此命令,存到的是sqlite数据库中

Django__项目创建与初识子应用

数据库设置
Django__项目创建与初识子应用
第一次使用时是没有数据库的,需要按以下步骤创建,数据库命名要和设置文件中匹配。
Django__项目创建与初识子应用
Django__项目创建与初识子应用
将系统生成的一些后台管理文件写入到数据库中
Django__项目创建与初识子应用
双击数据库就可以查看数据库中的内容
Django__项目创建与初识子应用

(1). 创建管理员用户

# 按提示输入用户名、邮箱、密码
python manage.py createsuperuser

Django__项目创建与初识子应用

启动服务器,通过 “127.0.0.1:8000/admin” 访问,输入上面创建的用户名、密码完成登录
进入管理站点,默认可以对 groups、users 进行管理
Django__项目创建与初识子应用
Django__项目创建与初识子应用

(2). 管理界面本地化
编辑 settings.py 文件,设置编码(中文)、时区

LANGUAGE_CODE = 'zh-Hans'
TIME_ZONE = 'Asia/Shanghai'

Django__项目创建与初识子应用
不需要重新运行服务,直接访问页面刷新一下就可以了Django__项目创建与初识子应用

四、应用的创建和使用

(1) 创建第一个应用程序

Django 自带一个实用程序,可以自动生成应用程序的基本目录结构,因此开发人员可以专注于编写代码而不是创建目录。

  • 在一个项目中可以创建一到多个应用,每个应用进行一种业务处理
  • 创建应用的命令:
python manage.py startapp bookApp

应用的目录结构如下图 :
Django__项目创建与初识子应用
magritions 存放的是生成的迁移脚本。

(2) 编写第一个视图函数

视图:对用户的请求(request)进行业务逻辑操作,最终返回给用户一个响应(response)。
打开文件 bookApp/views.py 并放入以下Python代码:

from django.shortcuts import render
# Create your views here.
from django.http import HttpResponse

def index(request):
	return HttpResponse("图书管理系统")

(3) 路由规则

要在 bookApp 目录中新建一个URLconf,创建一个名为 urls.py 。如下所示:

# bookApp/urls.py

from django.conf.urls import url
from . import views

urlpatterns = [
	# 当用户访问bookApp应用的主页时, 执行视图函数index,反向根据名称获取url地址;
	url(r'^$', views.index, name='index'),
]

根据配置文件 djangoProject/settings 可知路由查找的主文件是 djangoProject/urls.py , 因此在该文件添加一条 url 规则:

# djangoProject/urls.py
from django.conf.urls import url
from django.contrib import admin
from django.urls import path, include

urlpatterns = [
	path('admin/', admin.site.urls),
	# 当用户访问的url地址以book开头, 请访问bookApp.urls这个url配置文件进行匹配并执行对应的视图函数.
	url(r'^book/', include('bookApp.urls')),
	
	# 当用户请求路径为/book/时,访问bookApp/urls.py子路由配置文件
    # path('book/', include('bookApp.urls')) # 也可以使用这种写法功能等同于url(r'^book/', include('bookApp.urls')),
]
  • include()函数允许引用其他 URLconfs。

(4) 效果展示

Django中修改文件不需要重新启动会自动加载,新建文件需要重新启动。

  • 启动服务器
> python manage.py runserver
  • 访问 url 地址: http:// 127.0.0.1:8000/book/ 如果看到主页内容 图书管理系统 即成功。
    Django__项目创建与初识子应用

修改返回值形式Django__项目创建与初识子应用
效果:
Django__项目创建与初识子应用

url() 函数介绍
Django url() 可以接收四个参数,分别是两个必选参数: regex 、 view 和两个可选参数:kwargs 、 name 。

  • regex : 正则表达式,与之匹配的 URL 会执行对应的第二个参数 view。
  • view : 用于执行与正则表达式匹配的 URL 请求。
  • kwargs : 视图使用的字典类型的参数。
  • name : 用来反向获取 URL。
上一篇:MC7805多路稳压模块7V~12V~30V降压模块5V输出3.3V输出


下一篇:django环境配置