昨天講了 登入
今天來講 登入的限制
有些頁面需要登入才可以使用例如新增修改刪除...等
後端一定要做 防止使用者使用者輸入連結就可以進行動作
使用 @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 %}
就完成了
所有有關驗證的東西 後端一定要做