django七2019-08-06

中间键(课件第26张)

中间键的执行流程

process_request(self,request) 在request之后,url匹配之前

process_view 在url(self, request, view_func, *view_args, **view_kwargs)匹配之后,调用视图函数之前

process_response(self, request, response) 在view调用之后,response返回用户之前

__init__(self) 初始化 无需任何参数

process_exception(self,request,exception)异常处理,当属兔抛出异常时调用,返回一个HttpResponse对象

Django中的中间件是一个轻量级、底层的插件系统,可以介入Django的请求和响应处理过程,(Django框架给我们预留的函数接口,让我们可以干预请求和响应的过程),无侵入式的开发方式(类似装饰器的开放封闭)

Django在中间件中预置了五个方法,这五个方法的区别在于不同的阶段执行,对输入或输出进行干预

创建好的中间键需要在settins中的MIDDLEWARE进行注册

获取浏览器的访问ip request.META['REMOTE_ADDR']

好处是

admin配置 课件第27张

分页

Django提供了数据分页的类,这些类被定义在django/core/paginator.py中。 类Paginator用于对列进行一页n条数据的分页运算。类Page用于表示第m页的数据。

发邮件

django本省不能发邮件,它的发邮件功能是指定某一邮件服务器给指定用户发送邮件如163邮箱在发送邮件之前需要获取客户端授权密码

之后需要在settings中配置

EMAIL_BACKEND ='django.core.mail.backends.smtp.EmailBackend'

EMAIL_HOST ='smtp.163.com'

EMAIL_PORT =25

#发送邮件的邮箱

EMAIL_HOST_USER ='[email protected]'

#在邮箱中设置的客户端授权密码

EMAIL_HOST_PASSWORD ='wwy123456789'

#收件人看到的发件人

EMAIL_FROM ='python'

创建视图

fromdjango.confimportsettings

fromdjango.core.mailimportsend_mail

fromdjango.httpimportHttpResponse

...

defsend(request):

msg='点击激活'

send_mail('注册激活','',settings.EMAIL_FROM,

['[email protected]'],

html_message=msg)

returnHttpResponse('ok')

设置url

你可能感兴趣的:(django七2019-08-06)