2017-10-03 4 views
0

を追加するために許可されている場合、私はちょうど練習のためにブログを作成していますし、私は一部のユーザーは、ユーザーにこののBooleanFieldを追加し、テンプレートジャンゴチェックユーザーがポスト

で許可されているかどうかを確認する方法投稿を削除/追加できるようにしたいです
+0

Djangoには[permissions system](https://docs.djangoproject.com/ja/1.11/topics/auth/default/#topic-authorization)が付属しています。モデルに新しいブール値フィールドを追加しようとするのではなく、ユーザーに 'add_post'と' delete_post'パーミッションを与える(またはそれらのパーミッションを持つグループにそれらを追加する)べきです。 – Alasdair

+0

ありがとうございますが、テンプレートでそれらを確認する方法はありますか?{%if user.allowed%} .... –

+0

これについては、多くのチュートリアルとドキュメントがあります:[Djangoチュートリアルパート8:ユーザー認証とアクセス許可](https ://developer.mozilla.org/en-US/docs/Learn/Server-side/Django/Authentication)。そのページで 'Permissions'を検索すれば、モデルのパーミッションの部分と、テンプレートでチェックする方法にジャンプします。満足していません? [google](https://www.google.nl/search?q=django+permissions+template&oq=django+permissions+template&aqs=chrome.0.0l2j69i64l3.5679j0j7&client=ubuntu&sourceid=chrome&ie=UTF-8) – Nrzonline

答えて

0

あなたの話は、デフォルトのユーザー認証以外の拡張機能です。このような何か作業をする必要があります:

from django.db import models 
from django.contrib.auth.models import User 

PERMS = (('E', 'Editor'),('P', 'Poster'),...) 
class Profile(models.Model): 
    user = models.OneToOneField(User, on_delete=models.CASCADE) 
    my_custom_permission_levels = modelsCharField(max_length=1, choices=PERMS) 
    ... 

そして、あなたがこの記事と一致アクセスすることができました - Django accessing OneToOneField

profile = Profile.objects.get(user=request.user) 

、テンプレートにアクセスするためのコンテキストにそれを追加します。