2016-04-29 49 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用戶現場或在你的models.py像

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

在您的數據對象的JavaScript內,你應該做的說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

相關問題