day7-分页、上传图片、session登录、csrf校检

一、实现分页功能

1、使用切片实现分页
#在网页上得到page
  page_number = int(request.GET.get('page',1))
#得到分页过后的数据条数
  users = Users.objects.all()[3*(page_number-1):3*page_number]
2、使用Paginator
#在网页上得到page
page_number = int(request.GET.get('page',1))
#得到Users中所有的用户数据
users = Users.objects.all()
#使用Paginator实现分页
#使用Paginator实现按照三条数据分页
paginator = Paginator(users,5)
#获取某一个的信息
page = paginator.page(page_number)

当前页,页码,上一页,下一页设置

    <p>当前页:{{ page.number }}</p>
    <p>页码:{% for i in page.paginator.page_range %}
    <a href="{% url 'app:users' %}?page={{ i }}">{{ i }}</a>
    {% endfor %}
    </p>
    <p>
    {%  if page.has_previous %}
    <a href="{% url 'app:users' %}?page={{ page.previous_page_number }}">上一页</a>
        {% endif %}
    {%  if page.has_next %}
     <a href="{% url 'app:users' %}?page={{ page.next_page_number }}">下一页</a>
    {% endif %}
    </p>

二、上传图片

安装Pillow处理图片
在模型中定义icon,upload为图片上传后所在路径
创建文件夹media存放upload
在setting中配置media路径

MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(BASE_DIR,'media')

icon = models.ImageField(upload_to='upload',null=True,verbose_name='头像')

在注册页面写入

<p>头像:<input type="file" name = "icon"></p>

然后在form表单内写入enctype="multipart/form-data"才能提交图片
进行表单验证时,获取表单提交信息时要写入request.FILES即

form = Userform(request.POST,request.FILES)

创建保存用户时加入icon字段

icon=request.FILES.get('icon')

上传图片展示
在工程目录下的urls里面配置

urlpatterns += static(settings.MEDIA_URL,document_root = settings.MEDIA_ROOT)
在页面解析图片
<img src="/media/{{ user.icon }}">

三、cooike和session登录验证

设置session的值

request.session['user_id'] = user.id

实现注销功能
第一种,删除session和cookie

request.session.flush()

第二种,获取session_key的并实现删除,删除服务端

session_key = request.session.session_key
request.session.delete(session_key)

四、csrf校检
在表单提交里面写入

{% csrf_token %}

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 今天听到的一则新闻,一个中国女大学生在国外就读时死亡。这样的新闻很多,但是这则却不太一样。原因在于,这个女大学生,...
    0ad60b220cfe阅读 121评论 0赞 0
  • “梦里老家,江西婺源”以前在电视上看到的广告词,当时看到万亩油菜花海,一望无际,曾让我产生怦然心动的感觉。幻...
    Jerrylove阅读 519评论 2赞 8
  • 亡灵(或鬼)是一种文化符号,实际上折射出的是某一种文化对于「人」的理念和态度。世界不同文化系统都有这种文化符号,差...
    石衡阅读 506评论 0赞 1
  • "如能忘掉渴望,岁月长,衣衫薄。 无论于什么角落,不假设你或会在旁,我也可畅游异国,放心吃喝……” 音乐播放到杨千...
    夕彤Claire阅读 1,399评论 2赞 3
  • 你长大到现在这个年纪,做过一件你觉得冒险的事吗?如果没有,现在敢吗? 先讲个故事。 小时候,我家在农村,爷爷家在城...
    彳亍尔尔阅读 395评论 0赞 2

友情链接更多精彩内容