2013-02-12 37 views
2

我想顯示他輸入的用戶的數據。這是我的模型顯示特定用戶的模型值django

class IgaiaContent(models.Model): 
    CONTENT_CHANNELS = (
     ('YouTube','Youtube'), 
     ('FaceBook','FaceBook'), 
     ('Flickr','Flickr'), 
     ('Instagram','Instagram'), 
    ) 
    content_name =   models.CharField(max_length=255, primary_key=True) 
    content_type =   models.CharField(max_length=255,null=True) 
    content_source =  models.CharField(max_length=255,null=True, choices=CONTENT_CHANNELS) 
    content_location =  models.CharField(max_length=255,null=True) 
    content_latitude =  models.DecimalField(max_digits=20,decimal_places=2,null=True) 
    content_longitude =  models.DecimalField(max_digits=20,decimal_places=2,null=True) 
    content_embed_code = models.TextField(null=True) 
    content_description = models.TextField(null=True) 
    content_tags_user = models.CharField(max_length=255,null=True) 
    content_time_uploaded = models.DateTimeField(auto_now_add=True) 
    content_time_updated = models.DateField(null=True) 

    def __unicode__(self): 
     return self.content_name 
     return self.content_type 
     return self.content_source 
     return self.content_location 
     return self.content_latitude 
     return self.content_longitude 
     return self.embed_code 
     return self.description 
     return self.tags_user 
     return self.time_uploaded 
     return self.time_updated 



tagging.register(IgaiaContent) 

我的觀點

def create_page(request): 
    if request.method == 'POST': 
      form = AuthorForm1(request.POST) 
      if form.is_valid(): 
        form.save() 
        return HttpResponseRedirect('/thanks/') 
    else: 
      form = AuthorForm1() 

    c = {} 
    c.update(csrf(request)) 
    return render_to_response('portal/form1.htm',{'form':form},context_instance=RequestContext(request)) 

我的表單模板:

<form method="post" style="height: 553px; width: 594px"> 
<div class="style12"> 

{% csrf_token %} 

     </br>{{ form.as_p }} 

</div> 
</form> 

這就是我對你的顯示我的模型值

employee_info1 = { 
    "queryset" : IgaiaContent.objects.all(), 
    "template_name" : "portal/emp1.html", 
} 

urlpatterns = patterns('', 


    (r'^view5/', list_detail.object_list, employee_info1), 
) 

emp1.html

{% if object_list %} 
<table> 
<ul> 
{% for item in object_list %} 
    <li>{{item.content_name}}</li> 
    <li>{{item.content_type}}</li> 
    <li>{{item.content_source}}</li> 
    <li>{{item.content_location}}</li> 
    <li>{{item.content_latitude}}</li> 
    <li>{{item.content_longitude}}</li> 
    <li>{{item.content_embed_code}}</li> 
    <li>{{item.content_description}}</li> 
    <li>{{item.content_tags_user}}</li> 
    <li>{{item.content_time_uploaded}}</li> 
    <li>{{item.content_time_updated}}</li></ul> 
{% empty %} 
    <td colspan="11">No items.</td> 
{% endfor %} 
</table> 
{% endif %} 

它不顯示特定的用戶值意味着它顯示我的一切。 任何人都可以告訴我如何顯示特定的用戶值/數據?

回答

3

您需要以便它包含一個字段來存儲用戶更新模型 -

from django.contrib.auth.models import User 

class IgaiaContent(models.Model): 
    #... 
    user = models.ForeignKey(User) 

然後,你需要創建一個ModelForm描述here

class IgaiaContentForm(forms.ModelForm): 

    def __init__(self, *args, **kwargs): 
     self.request = kwargs.pop('request', None) 
     return super(MyModelForm, self).__init__(*args, **kwargs) 

    def save(self, *args, **kwargs): 
     kwargs['commit']=False 
     obj = super(MyModelForm, self).save(*args, **kwargs) 
     if self.request: 
      obj.user = self.request.user 
     obj.save() 

    class Meta: 
     model = IgaiaContent 

現在更新您的視圖,以便您在object_list中視圖使用新的ModelForm現在

def create_page(request): 
    if request.method == 'POST': 
      form = IgaiaContentForm(request.POST) 
      if form.is_valid(): 
        form.save() 
        return HttpResponseRedirect('/thanks/') 
    else: 
      form = IgaiaContentForm() 
    #... 

你做這樣的事情 -

from django.shortcuts import render_to_response 

def object_list(request): 
    #.... 
    object_list = IgaiaContent.objects.filter(user=request.user) 
    return render_to_response('object_list_template.html', {'object_list': object_list}) 
+0

thanku洙多:)我做def object_list(request): object_list = IgaiaContent.objects.filter(user = request.user) return object_list(request,queryset = list_detail.object_list,t emplate_name ='portal/emp.html') – 2013-02-12 10:30:21

+0

但它給了我錯誤'QuerySet'對象不是callabe..can你可以告訴我爲什麼? – 2013-02-12 10:31:22

+0

我已更新我的代碼。閱讀關於編寫視圖的信息 - https://docs.djangoproject.com/en/1.4/topics/http/views/和https://docs.djangoproject.com/en/1.4/topics/http/shortcuts/#django.shortcuts .render_to_response – 2013-02-12 11:18:05