前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Django篇(四)

Django篇(四)

作者头像
不断折腾
发布2019-09-23 10:56:08
4560
发布2019-09-23 10:56:08
举报
静态文件

1.1首先什么是静态文件?

我们把css,js,images这些都称之为静态文件。

1.2静态文件的使用

我们需要首先创建一个static的文件夹,这个文件夹是和我们的应用并列的。

再在static文件夹下创建css,js,images文件夹。

1.3进行配置

在我们的settings.py中进行配置添加两个配置:

# 设置访问静态文件对应的url,一般写成static,当然也可以写成其他的

# 并且他和我们刚刚创建的静态文件夹static是无关的。

STATIC_URL = '/static/'

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

# 这个设置已经给与静态文件的目录,所以上面的STATIC_URL与我们自己创建的

# static文件夹无关

STATICFILES_DIRS = [os.path.join(BASE_DIR,'static')]

1.4、静态文件的加载顺序

首先先去我们自己配置的路径STATICFILES_DIRS,下去找图片,如果找不到,他回去我们应用下的static去找。(我们应用下都没有创建static)

1.5、实例

我们在模板的需要显示一张图片

<img scr='/static/images/xxx.png'>

这个以static开头,是和我们设置的STATIC_URL有关的,他是什么我们静态文件开头就些什么,和我们关键的static文件夹无关。

1.6、动态加载图片

什么是动态加载图片,上次我们说了一个动态加载url,这里也是一样的,我们不把图片的路径写死。

在模板页需要写成这样:

# 首先需要加载配置

{% load staticfile %}

# 动态加载图片

<img src="{% static 'images/xxx.png' %}">

中间件

什么是中间件?

Django框架中为我们预留的函数接口,处于执行view函数前,也就是说,浏览器发送一个请求,以前都是直接请求view中的一个方法,现在中间多了一个方法,来干预请求和应答。

首先:我们需要在应用下创建一个middleware.py文件。

我们在里面创建一个类:

class TestMiddleware(object)。

里面的类我们一般以Middleware结尾,然后我们要为这个类在settings.py文件进行注册,找到MIDDLEWARE_CLASSES选项,添加'应用名.middleware.TestMiddleware',进行注册。接下来就需要在里面定义函数了。

Django为我们预留的函数:

__init__:在服务器第一个请求就调用

process_request:在url进去匹配前调用

process_view:在视图函数调用前调用

process_response:视图函数调用后,返回给服务器前

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

了解完Django为我们预留的函数,我们就可以去使用他了。

这些参数和函数名都是固定的。

Admin后台管理

1、时间,语言本地化

settings.py中:LANGUAGE_CODE = 'zh-hans'

TIME_ZONE='Asis/Shanghai'

2、创建超级管理员

3、注册模型类

4、自定义模型类属性:

class 名称(admin.ModelAdmin):

# 如果数据过多

# 每页显示10条数据

list_par_page = 10

# 每行显示多个title

list_display = ['id','xxx','xxxxx']

# 添加过滤栏

list_filter = ['id']# 以id为过滤栏

# 添加搜索框

search_fields = ['id'] # 根据id搜索

上传文件,分页等其他还没有说到的,打算在项目中更新,没有例子。很难受。

后期更新可能慢点。有什么意见和建议,都可以在后台回复我。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-12-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 python入门到放弃 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
消息队列 TDMQ
消息队列 TDMQ (Tencent Distributed Message Queue)是腾讯基于 Apache Pulsar 自研的一个云原生消息中间件系列,其中包含兼容Pulsar、RabbitMQ、RocketMQ 等协议的消息队列子产品,得益于其底层计算与存储分离的架构,TDMQ 具备良好的弹性伸缩以及故障恢复能力。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档