美文网首页
django简单总结

django简单总结

作者: qianyewhy | 来源:发表于2017-09-11 06:15 被阅读20次

1、django环境

2、创建项目和应用

在D盘新建文件夹pydj,然后cmd进入命令行

新建项目guest:

D:\pydj>django-admin startproject guest

新建应用sign:

D:\pydj\guest>python manage.py startapp sign

3、运行项目

D:\pydj\guest>python manage.py runserver 

4、在setting.py中配置应用

在guest/setteing.py中INSTALLED_APPS=[]中添加应用,配置模块应用

5、配置要访问的URL路径

在guest/urls.py中urlpatterns=[]中配置要访问的URL路径

6、在views.py中编写控制前端输出的函数

7、django工作流程

1)用户在浏览器地址栏输入URL

2)django拿到浏览器URL后,取得端口后后面的路径“/index”,在guest/urls.py文件中匹配,即urlpattern列表中

3)匹配完成后,调用相应函数(views.py中的index视图函数)处理数据

4)视图层返回的数据由templates模板层展示,即HTML页面

8、开发模式

MVC(Model-View-Controller)模式:

Model 代表数据存取层-----------由django数据库层处理,

View 代表的是系统中选择显示什么和怎么显示的部分,Controller 指的是系统中根据用户输入并视需要访问模型,以决定使用哪个视图的那部分------------由视图和模板处理

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

因为Controller由框架处理,django更关注是模型(Model),模板(Template)、视图(views),也被称为MTV开发模式:

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

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

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

django视图

9、get请求和post请求

get请求会将用户提交的数据添加到URL地址中,路径后面跟?username 和password 为HTML 代码中标签的name 属性值,username=admin 表示用户名输入框得到的输入数据为“admin”。password=admin123 密码输入框得到的输入数据为“admin123”。多个参数之间用“&”符号隔开。

post请求的数据会放在http包的包体中

“跨站请求伪造”( Cross-Site Request Forgery, CSRF)漏洞

在from 表单中添加{% csrf_token %}

10、render()函数

{{error}}用法

类HttpResponseRedirect,对路径进行重定向,从而使得登录成功后页面跳转

render与HttpResponseRedirect的区别是,当使用render转发时,他不会修改url,只是替换页面,所以适合定向到对应的页面中去,常规操作适合,简单,但是不适合转发,不改变url让人很难适应

11、cookie和session

cookie存储在客户端(浏览器)

存储cookie:

response = HttpResponseRedirect('./event_manage')

response.set_cookie('user',username,3600)

user---存入浏览器的cookie名字

username---用户在登录页上输入的名字

3600-----cookie在浏览器中停留的时间

读取cookie:

username = request.COOKIES.get('user','')

return render(request,"event_manage.html",{"user":username})

session存储在服务器端

存储session:

request.session['user']=username

读取session:

username=request.session.get('user','')

12、django认证系统

命令行创建超级用户:

使用django认证登录

使用authenticate()函数认证给出的用户名和密码。它接受两个参数,用户名username 和密码password,并在用户名密码正确的情况下返回一个user 对象。如果用户名密码不正确,则authenticate()返回None。

通过if 语句判断authenticate()返回如果不为None,说明用户认证通过。那么接下来调用login()函数进行登录。login()函数接收HttpRequest 对象和一个user 对象。

@login_required必须登录才能访问

django模型

1、设计系统表

Django 提供完善的模型(model)层主要用来创建和存取数据,不需要我们直接对数据库操作。

Django 模型基础知识:

每个模型是一个Python 类,继承django.db.models.model 类。

该模型的每个属性表示一个数据库表字段。

guest/model.py

发布会表

嘉宾表

migration和makemigration的区别:

在你改动了 model.py的内容之后执行下面的命令:

python  manger.py makemigrations

相当于 在该app下建立 migrations目录,并记录下你所有的关于modes.py的改动,比如0001_initial.py, 但是这个改动还没有作用到数据库文件你可以手动打开这个文件,看看里面是什么

在此之后执行命令

python manager.py migrate

将该改动作用到数据库文件,比如产生table之类

2、admin管理后台

3、基本数据访问

from sign.models import Event,Guest

导入sign应用下models.py中的Event表和Guest表

table.objects.all()

获得table(Event、Guest表)中的所有对象

table.objects.create()插入数据

table.objects.get()查询数据

从数据库表中取得一条匹配的结果,返回一个对象,如果记录不存在的话,那么它会报DoesNotExist 类型错误。

table.objects.filter()查询数据

从数据库中取得的结果是一个对象列表,如果记录不存在,返回[]

name__contains相当于like

g1.delete()删除数据

更新数据

4、MySQL

查看数据库---show database

切换库---------use   database

查看表---------show tables

相关文章

  • django简单总结

    1、django环境 2、创建项目和应用 在D盘新建文件夹pydj,然后cmd进入命令行 新建项目guest: D...

  • 爬虫学习

    简单的crapy+django大众点评 crapy+django+mysqlScrapy+django+sql2 ...

  • 使用Django REST framework创建一个简单的应用

    借这篇文章简单的总结一下自己近期学习的djangorestframework。 Django是基于MVC的开发模式...

  • 一、 Django 安装

    Django 简单安装 以Django 版本 1.11.4 为例 Django 对应版本: 安装过程 进入 命令...

  • Django简单用法

    Django是搭建框架的简单用法 在这里用下图简单介绍下Django用法

  • Django URL传递参数方式总结

    Django URL传递参数方式总结 (django2.0) 新建一个Django项目,默认的urls.py文件内...

  • 2023-02-10 Friday 今日总结

    今日总结,早上荒废了。还是不能很好的自制。 今日学习,Django 文档part4:表单和类视图。 写了投票的简单...

  • 2023-02-13 Monday 今日总结

    今日总结,早上不务正业,下午还行吧。 今日学习,Django,测试、静态文件、自定义admin。实操比较简单,根据...

  • Django实现用户密码重置

    使用Django内置的认证视图实现简单的通过邮箱重置密码的功能版本:django 1.11 在django.con...

  • Django安装及简单使用1.1

    Django安装及简单使用 1.1 Django的简要概述 Django采用了MVC的软件设计模式,即模型M,视图...

网友评论

      本文标题:django简单总结

      本文链接:https://www.haomeiwen.com/subject/juuyjxtx.html