Django框架(13):静态文件、中间件、Admin后台管理、上传图片、分页

静态文件

在网页使用的css文件,js文件和图片叫做静态文件。

1)新建静态文件夹 static。

2) 配置静态文件所在的物理目录。Settings.py

STATIC_URL设置访问静态文件对应的url。

STATICFILES_DIRS设置静态文件所在的物理目录。

/abc/img/lb.jpg 隐藏了服务器端实际保存文件的目录。

静态文件的加载目录:

STATICFILES_FINDERS=('django.contrib.staticfiles.finders.FileSystemFinder', 'django.contrib.staticfiles.finders.AppDirectoriesFinder')


中间件

获取浏览器端的ip地址

使用request对象的META属性:request.META['REMOTE_ADDR']

中间件函数是django框架给我们预留的函数接口,让我们可以干预请求和应答的过程。

使用中间件

1.新建middleware.py文件

2.定义中间件类

 

在类中定义中间件预留函数。

__init__:服务器响应第一个请求的时候调用。

process_request:是在产生request对象,进行url匹配之前调用。

process_view:是url匹配之后,调用视图函数之前。

process_response:视图函数调用之后,内容返回给浏览器之前。

process_exception:视图函数出现异常,会调用这个函数。

如果注册的多个中间件类中包含process_exception函数的时候,调用的顺序跟注册的顺序是相反的。

3.注册中间件类。

 

Admin后台管理

使用后台管理的步骤:

        1) 本地化。语言和时区本地化。

        2)创建超级管理员。 python mange.py createsuperuser

        3) 注册模型类。

        4) 自定义管理页面。

自定义模型管理类:

        注册模型类的时候给register函数添加第二个参数,就是自定义模型管理类的名字。

模型管理类相关属性:

        a) 列表页相关的选项。

        b) 编辑页相关的选项。

        c) 自定义管理页面。

上传图片

模型类设计

1.新建上传文件保存目录

2.配置上传文件保存目录

3.设计模型类

 4.迁移生成表格。

后台管理页面上传图片

        1.创建超级管理员。python mange.py createsuperuser

        2.注册模型类。

        3.自定义管理页面。

用户自定义页面上传图片

1.定义用户上传图片的页面并显示,是一个自定义的表单。

2.定义接收上传文件的视图函数。

request对象有一个FILES的属性,类似于字典,保存的是上传文件的内容。

分页

from django.core.paginator import Paginator

paginator = Paginator(areas, 10)  # 按每页10条数据进行分页

Paginator类对象的属性:

属性名

说明

num_pages

返回分页之后的总页数

page_range

返回分页后页码的列表

Paginator类对象的方法:

方法名

说明

page(self, number)

返回第number页的Page类实例对象

Page类对象的属性:

属性名

说明

number

返回当前页的页码

object_list

返回包含当前页的数据的查询集

paginator

返回对应得Paginator类对象

Page类对象的方法:

属性名

说明

has_previous

判断当前页是否有前一页

has_next

判断当前页是否有一页

previous_page_number

返回前一页的页码

next_page_number

返回下一页的页码

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

轨迹|

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值