iT邦幫忙

2018 iT 邦幫忙鐵人賽
DAY 23
0
Modern Web

使用 Django 開發網頁系統系列 第 23

[Day 23] login required

昨天講了 登入
今天來講 登入的限制
有些頁面需要登入才可以使用例如新增修改刪除...等

後端一定要做 防止使用者使用者輸入連結就可以進行動作
使用 @login_required 如果沒有登入的話會重新導向到登入頁面
https://docs.djangoproject.com/en/2.0/topics/auth/default/#the-login-required-decorator

它是一個 Decorators 可以看一下說明
https://wiki.python.org/moin/PythonDecorators

在要一定的登入的頁面前面加上@login_required
store/views.py

from django.contrib.auth.decorators import login_required

@login_required
def func(request):
    return ...

加上LOGIN_URL ,這是如果沒登入 重新導向的路徑,當然就是登入頁面了
shop/settings.py

...
LOGIN_URL = '/userAuth/userLogin/'

這樣後端的部分就完成了

前端的部分 就是在未登入時不讓使用者看見
登入後才能看見
把連結都加上 判斷
{% if user.is_authenticated %}

store/templates/store/category.html

  {% if user.is_authenticated %}
    <a href="{% url 'store:categoryCreate' %}">新增類別</a>
    <a href="{% url 'store:itemCreate' %}">新增商品</a>
  {% endif %}

就完成了

所有有關驗證的東西 後端一定要做


上一篇
[Day 22] 登入
下一篇
[Day 24] 註冊
系列文
使用 Django 開發網頁系統30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言