演習課題「ログイン時だけ投稿・編集・削除」
右の環境には、「myblog」プロジェクトに「news」というアプリケーションが作成してあります。また、サインアップ画面のために「accounts」アプリケーションも用意していあります。
この「news」アプリケーションをログイン時だけ投稿・編集・削除できるよう、views.pyで、クラスベース汎用ビューを修正してください。
採点して、すべてのジャッジに正解すれば、演習課題クリアです!
#07:ログイン時だけ投稿・編集・削除を可能にしよう
ここでは、これまで作ってきたLunchmapアプリにアクセス制御を追加します。ログインしているユーザーだけが、情報を投稿・編集・削除できるようにします。
Username: admin
Password: paizaadmin
Username: paiza
Password: paiza
Username: kirisima
Password: kirisima
1. 管理サイトにログインする
2. 「Users」をクリック
3. パスワードを変更したいユーザー名をクリック
4. 「Change user」-「Password」にある、'Raw passwords are not stored, so there is no way to see this user's password, but you can change the password using this form.'の最後にあるリンクをクリック
5. 「Change password」フォームに新しいパスワードを入力
6. 「CHANGE PASSWORD」ボタンをクリック
myapp/lunchmap/templates/lunchmap/shop_list.html{% extends 'layout.html' %}
{% block content %}
myapp/lunchmap/views.pyfrom django.urls import reverse_lazy
from django.views import generic
from .models import Category, Shop
from django.contrib.auth.mixins import LoginRequiredMixin
class IndexView(generic.ListView):
model = Shop
class DetailView(generic.DetailView):
model = Shop
class CreateView(LoginRequiredMixin, generic.edit.CreateView):
model = Shop
fields = '__all__'
class UpdateView(LoginRequiredMixin, generic.edit.UpdateView):
model = Shop
fields = '__all__'
class DeleteView(LoginRequiredMixin, generic.edit.DeleteView):
model = Shop
success_url = reverse_lazy('lunchmap:index')
Django でのユーザー認証
https://docs.djangoproject.com/ja/2.0/topics/auth/
Django2 でユーザー認証(ログイン認証)を実装するチュートリアル -2- サインアップとログイン・ログアウト | ITエンジニアラボ
https://it-engineer-lab.com/archives/544
Django2 でユーザー認証(ログイン認証)を実装するチュートリアル -3- ブログアプリへの実装 | ITエンジニアラボ
https://it-engineer-lab.com/archives/737
Djangoでログイン認証できるようになるまで | CodeLab
https://codelab.website/django-login/