2016-04-29 13 views
-4

私はホテルの情報を保存するためのアプリを開発しました。私は編集と削除の機能も望んでいますが、編集ボタンは、認証されたすべてのユーザーではなく、ホテルを登録したそのユーザーにのみ表示されるべきです。リクエストされたユーザーがjavascript引数でホテルを登録したユーザーであれば、渡したいです。どのように私はこれをチェックできますか?リクエストされたユーザーがdjangoのオーナーであるかどうか確認してください

hotel_detail.html

<script type="text/javascript"> 

    var data = { 
     pk:{{ instance.pk }}, 
     isUserAuthenticated:{% if request.user.is_authenticated %}true{% else %}false{% endif %}, 
     user:'{{request.user.username}}' 
    } 
    console.log('owner is', data.user); 
    console.log(data); 
    $(function() { 
     app.showRoomDetail("hotelDetail",data); 

    }); 

</script> 

ビュー

def hotel_detail(request, pk): 
    instance = get_object_or_404(Hotel, pk=pk) 
    context = { 
     'pk':instance.pk, 
     'instance':instance 
    } 
    return render(request,'rentals/hotel_detail.html',context) 

モデルあなたが何ができるかまあ

class Hotel(models.Model): 
    ownerName = models.CharField(_("Owner's Name"),max_length=255, blank=True,null=True, 
     help_text=_("Owner's Full Name")) 
    email = models.CharField(max_length=120,blank=True,null=True) 
    phoneNumber = models.PositiveIntegerField(blank=False,null=True, 
     help_text=_("Phone number of contact person")) 
    hotelName = models.CharField(_("Hotel Name"), max_length=255, blank=False,null=True) 
    slug = models.SlugField(unique=True,blank=True,null=True) 
    summary = models.TextField(max_length=500, blank=True,null=True,help_text=_("Description of the Hotel")) 
    location = models.CharField(_("location"),max_length=10,null=True) 
    room = models.PositiveIntegerField(_("No of Rooms"), blank=False, null=True, 
     help_text=_("Number of bedrooms available")) 
    price = models.PositiveIntegerField(blank=False,null=True, 
     help_text=_("Price per room")) 
+3

デュード次のDDのユーザーフィールドまたはあなたがやるべきジャバスクリプト内のデータオブジェクトで今

hotelOwner = models.ForeignKey(User) # note you need to import user model 

のようなあなたのmodels.pyにhotelOwnerを言う、ホテルが何であるか、どのようにユーザーがホテルを登録しますか?あなたはあなたのプログラムのインフラに関する情報を共有しておらず、依然として人々があなたを助けることを期待していますか? – ozgur

+1

あなたは '{%if request.user == hotel.user%}'の行で何かを使うことができるはずですが、 'Hotel'モデルを投稿してください。 – Selcuk

+0

私は{{hotel.user}}を使って何かが得られるかどうかを調べましたが、空の値が得られました。 – milan

答えて

0

があります

user:{% if request.user == instance.renter %}true{% else %}false{% endif %} 
+0

ありがとうございました。 :) – milan

関連する問題