django07配置

2018-09-29  本文已影响0人  fly5

一、静态文件

在html中顶部添加 {% load static %}

二、中间件

中间件是用来处理Django的请求和响应的框架级别的钩子
本质:python类
在工程目录下middleware目录下创建应用目录 
- 在middleware/elema中创建一个elemamiddleware.py 
from django.utils.deprecation import MiddlewareMixin 
    class MyMiddle(MiddlewareMixin): # 在视图执行前调用 
        def process_request(self,reqeust): print('get请求,参数name: ', reqeust.GET.get('name')) 
        
- 配置settings.py文件(即在MIDDLEWARE中添加上述文件的位置)  
    'middleware.elema.elemamiddleware.MyMiddle'
    
- 浏览器
    http://127.0.0.1:8000/?name=zyz

- 效果 在终端中可以看到`get请求,参数name: zyz`

三、上传图片

- 文件上传时,文件数据存储在request.FILES属性中
- form表单要上传文件需要加 enctype="multipart/form-data"
- 上传文件必须是post请求
- 在static目录下创建upfile目录用于存储接受上传的文件
- 配置settings.py文件
    MDEIA_ROOT = os.path.join(BASE_DIR,'static/upfile')
<form action="{% url 'elema:savefile' %}" method="post" enctype="multipart/form-data">
    {% csrf_token %} 
    <input type="file" value="上传文件" name="file"> 
    <input type="submit" value="上传">
</form>
# 文件上传 
def upfile(request): 
    return render(request, 'elema/upfile.html')

# 文件保存 
import os 
from django.conf import settings # 导入settings.py 
def savefile(request): 
    # 判断是否为POST 
    if request.method == 'POST': 
        # 获取文件内容 
        file = request.FILES['file'] 
        # 文件保存路径 
        filepath = os.path.join(settings.MDEIA_ROOT,file.name) 
        # 文件写入 
        with open(filepath,'wb') as fp:     
            for info in file.chunks():
                fp.write(info) 
        return HttpResponse('文件上传成功')
    else: 
        return HttpResponse('文件上传失败')

四、分页

    Paginator( 列表,每页个数 )
        paginator = Paginator( list(alllist),10 )
    count:对象总数
    num_pages:页面总数
    page_range:页码列表(从1开始)
    page(num) 获得一个page对象
    Paginator对象的page()方法返回得到Page对象(不需要手动创建)
        pageobj = paginator.page(page)
    has_next(): 判断是否有下一页,如果有返回True 
    has_previous(): 判断是否有上一页,如果有返回True 
    has_other_pages(): 判断是否有上一页或下一页,如果有返回True 
    next_page_number(): 返回下一页的页码,如果下一页不存在抛出InvalidPage异常 
    previous_page_number(): 返回上一页的页码,如果上一页不存在抛出InvalidPage异常 
    len(): 返回当前页的数据(对象)个数
上一篇下一篇

猜你喜欢

热点阅读