您的位置:时时app平台注册网站 > 编程知识 > Django入门

Django入门

2019-11-21 02:24

tests.py:创建 Django 测试。

1、Django处理一个请求的过程如下:

(1)Django使用的是根URLconf模块。这个值通常通过ROOT_URLCONF设置(在.../settings.py中)

(2)Django加载URLconf模块(url.py文件),并寻找可用的urlpatterns

(3)Django依次匹配每个URL模式,在于请求的URL匹配的第一个模式处停下来

(4)一档其中 一个正则表达式匹配上,则Django见请求指向对应的试图函数处理

(5)如果没哟匹配到,或者过程中抛出异常,这Django将调用一个适当的错误处理视图。

用PyCharm打开guest目录,目录结构如下图:

创建Hello Django页面

1、配置guest/settings.py 文件,将sign 应用添加到项目中

INSTALLED_APPS = [
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'sign',  # 添加sign应用
]

2、命名一个/index/路径,配置guest/guest/urls.py文件,添加路由

from django.conf.urls import url
from django.contrib import admin
from sign import views  # 导入sign 应用views 文件

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^index/$', views.index),  # 添加index/路径配置
]

3、打开guest/sign/views.py,创建index函数

 

from django.http import HttpResponse


# Create your views here.
def index(request):
    return HttpResponse("Hello Django!")

HttpResponse 类存在django.http.HttpResponse 中,以字符串的形式传递给前端页面数据。

4、运行项目,打开 Diango!”页面,第一个Diango程序运行成功。

时时app平台注册网站 1

models.py:创建应用程序数据表模型(对应数据库的相关操作)。

MTV模式

由于C 由框架自行处理,而Django 里更关注的是模型(Model)、模板(Template)和视图(Views),Django 也被称为MTV 框架。在MTV 开发模式中:

M 代表模型(Model),即数据存取层。该层处理与数据相关的所有事务: 如何存取、如何验证有效

T 代表模板(Template),即表现层。该层处理与表现相关的决定: 如何在页面或其他类型文档中进行显示

V 代表视图(View),即业务逻辑层。该层包含存取模型及调取恰当模板的相关逻辑。你可以把它看作模型与模板之间的桥梁。

  

  

 环境:

第一个Django项目

*下面以开发一个简单的用户签到系统介绍Django的使用

templates 模板

打开.../sign/templates/index.html 文件。如图

时时app平台注册网站 2

作为Web框架,Django需要一种非常便利的方法动态生成HTML。最常见的做法是使用模板,模板包含HTML、CSS、JS等。

目录说明:

 使用模板

现在要用HTML 页面来替代“Hello Django!”字符串,那么处理方式也会有所不同。

1、在应用sign/目录下创建templates/index.html 文件

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Django Page</title>
</head>
<body>
    <h1>Hello Django!</h1>
</body>
</html>

2、修改视图文件views.py

from django.shortcuts import render


# Create your views here.
def index(request):
    return render(request, "index.html")

这次使用Django 的render 函数。该函数的第一个参数是请求对象,第二个参数返回一个index.html 页面。

 3、刷新页面,看到修改后的页面

与大多数的Web端开发框架一样,Django开发同样使用MVC模式

Windows 安装Django

pip3 install django==1.10.3

 

官方建议在Python3 的最新版本下使用Django。

 

MTV开发模式

admin.py:映射 models 中的数据到 Django 自带的 admin 后台。

关于URLconf

时时app平台注册网站 3

 

需要说明的是,这个处理流程并非 Django 的完整处理过程,其中最主要的就是缺失了数据层(model) 的操作。

Django 官方网站:

3、打开../sign/views.py 文件创建 index 函数。

MVC模式

把数据存取逻辑、业务逻辑和表现逻辑组合在一起的概念有时被称为软件架构的Model-View-Controller(MVC)模式。
M ,数据存取部分,由Django 数据库层处理

V ,选择显示哪些数据要显示以及怎样显示的部分

C ,根据用户输入委派视图的部分,由Django 框架根据URLconf 设置,对给定URL 调用适当的Python 函数

时时app平台注册网站 4

Django Web 框架来做Web(接口)开发,资源丰富。

A、pycharm下可直接启动

2、关于urls.py的配置

前面urls.py的配置,使用python的正则表达式

r'^index/$'

r  字符串前面加“ r ”是为了防止字符串中出现类似“t”字符时被转义

^  匹配开头

$  匹配结尾

 通过^index/$ 匹配到/index/目录。并且将处理指向sign 应用的视图文件views.py 的index 函数

guest: 项目的容器。

 Django 工作流

时时app平台注册网站 5

M ,数据存取部分,由 Django 数据库层处理,本章要讲述的内容。

Views视图

接下来请求的处理就到了.../sign/views.py 中的index 视图函数。如图

 时时app平台注册网站 6

视图函数,简称视图,是一个简单的python函数,它接受web请求并返回web响应,响应可以是一张HTML网页、一个重定向、一个404错误、一张图片等。

定义 index 函数,并通过 HttpResponse 类向页面返回字符串“Hello django”。 HttpResponse 类存在 django.http.HttpResponse 中,以字符串的形式传递给前端页面数据。

运行项目

Django 提供了Web 容器,只需要通过“runserver”命令就可以把项目运行起来,默认会通过本机的8000 端口来启动项目,打开浏览器,访问:

python3 manage.py runserver

启动时可以指定IP 地址和端口号,打开浏览器,访问:

python3 manage.py runserver 127.0.0.1:8001

C python3 manage.py startapp sign(创建APP,多次执行会生成多个app)

创建项目

如果你已经成功的安装Django,在.../python35/Scripts/目录中将会多出一个django-admin.exe 文件。在Windows 命令提示符下输入“django-admin”命令回车。
时时app平台注册网站 7

这里罗列了Django 所提供给我们的命令,其中使用“startproject”命令来创建项目。

D:Docdjango   #切换到项目目录
λ django-admin startproject guest  #创建guest项目

 创建之后,目录结构如下:

时时app平台注册网站 8

guest/settings.py:Django 项目的配置文件,包括Django 模块应用配置,数据库配置,模板配置等。
guest/urls.py:Django 项目的URL 声明。
guest/wsgi.py:为WSGI 兼容的Web 服务器服务项目的切入点。
manage.py:一个命令行工具,可以让你在使用Django 项目时以不同的方式进行交互。

2、安装django:pip install django==1.10.3

创建应用

使用“startapp”命令创建应用。一个项目可以包含多个应用,而我们要开发的签到系统应该在具体应用下面完成。

D:Docdjangoguest
λ python3 manage.py startapp sign

 创建之后,目录结构如下:

时时app平台注册网站 9

migrations/:用于记录models 中数据的变更。
admin.py:映射models 中的数据到Django 自带的admin 后台。
apps.py:在新的Django 版本中新增,用于应用程序的配置。
models.py:创建应用程序数据表模型(对应数据库的相关操作)。
tests.py:创建Django 测试。
views.py:控制向前端显示哪些数据。

命令行创建django项目步骤:

python3 manage.py runserver 127.0.0.1:8001

时时app平台注册网站 10

**guest/__init__.py:** 一个空文件,告诉 Python 该目录是一个 Python 包。

环境已经就绪,下面进入真正的项目应用开发过程

由于 C 由框架自行处理,而 Django 里更关注的是模型(Model)、模板(Template)和视图(Views), Django 也被称为 MTV 框架

views.py:控制向前端显示哪些数据。

 

apps.py:在新的 Django 版本中新增,用于应用程序的配置。

创建Django项目:

2、打开 guest/urls.py 文件添加用户登录页面的路由。

时时app平台注册网站 11

访问127.0.0.1:8001/index

看到以上页面,说明Django已经开始工作了。

 总结一下,Django的工作流可以概括成下图:

我理解views文件在Django中非常重要,它是连接页面与数据的中间纽带。拿登录的例子来讲,用户在页面上输入了用户名和密码点击登录。那么 request 请求会由视图层views来接收,如何提取出用户名和密码的数据,如何用这些数据去查询数据库,再如何将登录成功的页面返回给用户,这些全部由视图层views来完成。

再次访问127.0.0.1:8001/index,效果如下图

 

时时app平台注册网站,5、使用模板(Templates)

现在用 HTML 页面来替代“Hello django”字符串,那么处理方式也会有所不同。

 

migrations/:用于记录 models 中数据的变更。

M 代表模型(Model),即数据存取层。 该层处理与数据相关的所有事务: 如何存取、如何验证有效

4、启动django执行程序

打开浏览器,访问:

**guest/urls.py: **路由配置文件。

V 代表视图(View),即业务逻辑层。 该层包含存取模型及调取恰当模板的相关逻辑。 你可以把它看 作模型与模板之间的桥梁。

时时app平台注册网站 12

时时app平台注册网站 13

manage.py: 一个实用的命令行工具,可让你以各种方式与该 Django 项目进行交互。

 

C ,根据用户输入委派视图的部分,由 Django 框架根据 URLconf 设置,对给定 URL 调用适当的 Python 函数。

时时app平台注册网站 14

修改视图文件 views.py,这里抛弃 HttpResponse 类,转而使用 Django 的 render 函数。该函数的第一个参数是请求对象的,第二个参 数返回一个 index.html 页面

A django-admin startproject guest(project名)

python3 manage.py runserver

T 代表模板(Template),即表现层。 该层处理与表现相关的决定: 如何在页面或其他类型文档中进行显 示。

Django 默认会通过本机的 8000 端口来启动项目,如果你的当前环境该端口号被占用了,也可以在启动时指定 IP 地址和端口号。

在 MTV 开发模式中:

B 进入guest目录

V ,选择显示哪些数据要显示以及怎样显示的部分,由视图和模板处理。

1、python  3.6.2

时时app平台注册网站 15

**guest/wsgi.py:** 一个 WSGI 兼容的 Web 服务器的入口,以便运行你的项目。

接下来,进入guest目录输入以下命令,启动服务器:

时时app平台注册网站 16

B、命令行执行:python manage.py runserver 127.0.0.1:8001

**guest/settings.py:** 全局配置文件;包括Django 模块应用配置,数据库配置,模板配置等。

时时app平台注册网站 17

在应用 sign/目录下创建 templates/index.html 文件。

1、配置一下 guest/settings.py 文件,将 sign 应用添加到项目中。

本文由时时app平台注册网站发布于编程知识,转载请注明出处:Django入门

关键词: