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 %}
相關文章
- 上傳圖片
- Retrofit+RxJava上傳圖片上傳圖片到後臺RxJava
- 【easyui 】上傳圖片UI
- 上傳圖片jsJS
- 圖片上傳及圖片處理
- javascript檢測上傳圖片大小程式碼例項JavaScript
- js如何檢測上傳圖片的字尾格式JS
- php圖片上傳之圖片轉換PHP
- java,springboot + thymeleaf 上傳圖片、刪除圖片到伺服器、本地,壓縮圖片上傳(有些圖片會失真),原圖上傳JavaSpring Boot伺服器
- ASP.NET Core 中簡單Session登入校驗ASP.NETSession
- 多圖片formpost上傳ORM
- input file圖片上傳
- PHP上傳圖片類PHP
- 圖片檔案上傳
- 測試圖片上傳
- Django實現圖片上傳並前端頁面顯示Django前端
- PbootCMS上傳圖片變模糊、上傳圖片尺寸受限的解決方案boot
- 將上傳圖片打上防偽圖片水印並寫入資料庫資料庫
- vue 上傳圖片進行壓縮圖片Vue
- Ueditor 上傳圖片自動新增水印(只能上傳圖片,上傳檔案報錯)
- 學姐,影片上傳不了,我上傳了圖片
- canvas簽名圖片上傳及入庫問題Canvas
- Laravel 使用 FastDFS 上傳圖片LaravelAST
- koa 圖片上傳詳解
- Vue圖片裁剪上傳元件Vue元件
- 圖片上傳方案詳解
- js上傳圖片壓縮JS
- vue圖片預覽上傳Vue
- Typora上傳圖片設定
- laravel 上傳附件-不是圖片--Laravel
- js圖片上傳預覽JS
- curl上傳圖片的大坑
- 微信小程式 圖片上傳微信小程式
- input file美化 --上傳圖片
- laravel上傳圖片報錯Laravel
- PHP配置CKEditor上傳圖片PHP
- spring boot 圖片上傳Spring Boot
- vue 實現貼上上傳圖片Vue