ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Django__项目创建与初识子应用

2021-03-05 19:03:31  阅读:161  来源: 互联网

标签:__ 框架 url py django 初识 urls 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.82.7,3.2(直到2016年底),3.3, 3.4, 3.5
1.9,1.102.7, 3.4, 3.5
1.112.7 , 3.4 , 3.5 , 3.6
2.03.5+

二、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’
在这里插入图片描述
然后去浏览器访问 http://127.0.0.1:8000/ 出现以下界面既创建成功。如果端口被占用,可以指定运行服务的端口 ‘>python manage.py runserver 9999’ 。(ctrl+c即可终止)
在这里插入图片描述
直接运行 ‘>python manage.py’ 可以看到相关操作罗列
在这里插入图片描述

三、启用后台 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数据库中

在这里插入图片描述

数据库设置
在这里插入图片描述
第一次使用时是没有数据库的,需要按以下步骤创建,数据库命名要和设置文件中匹配。
在这里插入图片描述
在这里插入图片描述
将系统生成的一些后台管理文件写入到数据库中
在这里插入图片描述
双击数据库就可以查看数据库中的内容
在这里插入图片描述

(1). 创建管理员用户

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

在这里插入图片描述

启动服务器,通过 “127.0.0.1:8000/admin” 访问,输入上面创建的用户名、密码完成登录
进入管理站点,默认可以对 groups、users 进行管理
在这里插入图片描述
在这里插入图片描述

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

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

在这里插入图片描述
不需要重新运行服务,直接访问页面刷新一下就可以了在这里插入图片描述

四、应用的创建和使用

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

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

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

应用的目录结构如下图 :
在这里插入图片描述
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/ 如果看到主页内容 图书管理系统 即成功。
    在这里插入图片描述

修改返回值形式在这里插入图片描述
效果:
在这里插入图片描述

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

  • regex : 正则表达式,与之匹配的 URL 会执行对应的第二个参数 view。
  • view : 用于执行与正则表达式匹配的 URL 请求。
  • kwargs : 视图使用的字典类型的参数。
  • name : 用来反向获取 URL。

标签:__,框架,url,py,django,初识,urls,Django
来源: https://blog.csdn.net/Ctrl_C_V_/article/details/114338151

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有