Post と Profile の 2 つのモデルがあります。タイトル、本文、所有者、スラッグなどのブログデータをポストに保管しています。スローガン、電子メール、ウェブサイトなどのユーザープロファイル設定をプロファイルに保持します
私のindex.htmlページでは、ユーザープロファイル情報と投稿リストを同じページに表示しています。それで ; これら2つのモデルを互いに接続する必要があります。誰かが 127.0.0.1/blog/username (ログインの有無にかかわらず) にアクセスすると、「username」という名前のユーザーに属するすべてのデータがそこにある必要があります。
ここに私のmodels.pyがあります:
class Profile(models.Model):
slogan = models.TextField(blank=True)
twitter = models.CharField(max_length = 100,blank=True)
web_site = models.CharField(max_length=100,blank=True)
email = models.CharField(max_length = 100,blank=True)
def __unicode__(self):
return self.slogan
class Post(models.Model):
owner = models.ForeignKey(User)
title = models.CharField(max_length = 100)
body = models.TextField()
bodyPreview = models.TextField() #preview için body alanı
titlePreview = models.CharField(max_length=100) # preview için title alanı
slug = AutoSlugField(populate_from='title' ,unique=True)
posted = models.DateField(auto_now_add=True)
isdraft = models.BooleanField(default=False)
def __unicode__(self):
return self.title
@permalink
def get_absolute_url(self):
return ('view_blog_post',None,{'postslug':self.slug})
と私のインデックスビュー:
def index(request,username):
post_list = Post.objects.filter(owner__username=username).filter(isdraft=False).order_by("-posted")
p_index = Paginator(post_list,3) #anasayfa için pagination.[her sayfada 3 post]
page = request.GET.get('page')
try:
indexPag = p_index.page(page)
except PageNotAnInteger:
indexPag = p_index.page(1)
except EmptyPage:
indexPag = p_index.page(p_index.num_pages)
## i need to get user's profile datas here. ??
return render_to_response('index.html',
{'post_list':post_list,'p_index':indexPag,'profile':query},
context_instance = RequestContext(request))