博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
django简介
阅读量:5324 次
发布时间:2019-06-14

本文共 2757 字,大约阅读时间需要 9 分钟。

1.django概念

  Python语言写的开源web开发框架

1.1 MVC模型(model,views,controller)  #  java使用mvc模型

  它们之间以一种插件式的,松耦合的方式连接在一起,model负责业务对象与数据库的映射,views负责与用户交互,即页面,控制器接受用户的输入并调用模型和视图完成用户的请求

基本关系如图

1.2 MTV模型(module,template\模板,view)      # django使用MTV模型

  django的MTV模式本质和MVC相同,只是定义上存在差别

  M:负责业务对象和数据库的关系映射(ORM)。

  T :负责如何把页面展示给用户(html)。

  V : 负责业务逻辑(执行相关函数),如果与数据发生交互,则去调用Model。如果没有,则直接将要展示的数据返回给Template。

  此外,Django还有一个URL分发器。它的作用是将一个个URL的页面请求分别发给不同的Views处理,Views再调用相应的Model和Template。

响应模式如图

  用户通过浏览器向我们的服务器发起一个请求(request),这个请求回去访问视图函数,(如果不涉及到数据调用,那么这个时候视图函数返回一个模板也就是一个网页给用户),视图函数调用模型,模型去数据库查找数据,然后逐级返回,视图函数把返回的数据填充到模板中空格中,最后返回网页给用户。

2.django安装

cmd下

pip3 install django

查看版本

python -m django --version

3.django项目搭建

  对于第一次使用Django,需要先进行初始设置,让他自动生成一些代码来建立Django项目,注意路径,这里我放在了G盘,在终端G盘下运行如下代码

django-admin startproject mysite

此时查看startproject创建的内容:

文件解释

mysite/			根目录,项目容器,可任意命名,根目录下的就是项目,它是一个纯Python包,根据包名可以引用内部的任何东西manage.py/		管理Django项目的命令行工具mysite/.__init__.py	一个空文件,告诉Python这个目录应该被认为是一个Python包mysite/setting.py	Django项目的配置文件mysite/urls.py		Django项目的URL声明mysite/wsgi.py		项目的运行在wsgi兼容的web服务器上的入口

mysite目录下,运行如下命令(在终端下执行Python文件manage.py,启动这个入口文件),启动Django自带的用于开发的简易服务器 

Python manage.py runserver

在浏览器访问 http://127.0.0.1:8000/。你将会看到一个“祝贺”页面,随着一只火箭发射,服务器已经运行了(注意是http不是https)

注意:默认情况下runserver命令会将服务器设置为监听本机内部IP8000端口,如果想更换端口,如8080,在终端只需这样输入:

python manage.py runserver 8080

如果想监听所有服务器公开的IP,使用:

python manage.py runserver 0:8000

  以上django的创建,在Python中也可以直接一步生成,这里就不介绍了

4.mysite目录下创建应用

在manage.py目录下创建应用程序,在同目录下运行:

python manage.py startapp polls

创建一个目录pools,布局如下

polls/    __init__.py    admin.py    apps.py    migrations/        __init__.py    models.py    tests.py    views.py

 5.基于django实现登录认证

  要实现该应用,我们需要在框架下的setting文件内,将MIDDLEWARE下的''django.middleware.csrf.CsrfViewMiddleware'提前注掉,否则会出现403报错信息,这个的意义我后面文章有说明。另外,这里我们还需在mysite下创建templates文件,用于存放HTML标签

5.1url控制器

from django.contrib import adminfrom django.urls import pathfrom app import viewsurlpatterns = [    path('admin/', admin.site.urls),    path('login/', views.login),]

5.2view视图

from django.shortcuts import renderfrom django.shortcuts import HttpResponse# Create your views here.def login(request):    if request.method == "POST":        user = request.POST.get("user")        pwd = request.POST.get("pwd")        print(user,pwd)    # 在控制面板获取用户信息        if user=="bob" and pwd=="123":            return HttpResponse("登陆成功")        else:            return render(request, "login.html")    else:        return render(request, "login.html")

5.3templates模板

    
Title{
#注意这里内容必须要放在form表单里,否则无法实现跳转#}
姓名:
密码:

在终端运行python manage.py runserver,此时在浏览器输入127.0.0.1:8000/login/,效果如下

输入正确登录名和密码后,会自动实现跳转功能

 

转载于:https://www.cnblogs.com/LearningOnline/p/9206146.html

你可能感兴趣的文章
ELMAH——可插拔错误日志工具
查看>>
MySQL学习笔记(四)
查看>>
【Crash Course Psychology】2. Research & Experimentation笔记
查看>>
两数和
查看>>
移动设备和SharePoint 2013 - 第3部分:推送通知
查看>>
SOPC Builder中SystemID
查看>>
MySQL数据库备份工具mysqldump的使用(转)
查看>>
NTP服务器配置
查看>>
关于 linux 的 limit 的设置
查看>>
HDU(4528),BFS,2013腾讯编程马拉松初赛第五场(3月25日)
查看>>
vim中文帮助教程
查看>>
MySQL基础3
查看>>
RxJS & Angular
查看>>
面向对象(多异常的声明与处理)
查看>>
MTK笔记
查看>>
ERROR: duplicate key value violates unique constraint "xxx"
查看>>
激活office 365 的启动文件
查看>>
无法根据中文查找
查看>>
[简讯]phpMyAdmin项目已迁移至GitHub
查看>>
转载 python多重继承C3算法
查看>>