2017-06-22 1 views
0

私のdjangoアプリケーションのカスタムユーザーとプロファイルモデルを作成しています。私はユーザモデルと、ユーザモデルにOneToOneFieldという別のプロファイルモデルを作成しました。 私はテンプレートでプロファイルモデルのフィールド値を取得したいだけですが、私は現在ログインしているユーザーからのビューでユーザーモデルのオブジェクトを取得できます。テンプレートでプロファイルモデルのフィールド値を取得するにはどうすればよいですか?継承したクラスフィールドを取得するdjango

models.py

class UserSignup(models.Model): 
    email = models.CharField(unique=True, max_length=254) 
    name = models.CharField(max_length=100) 
    password = models.CharField(max_length=1000) 
    created_date = datetime.now() 

    def __str__(self): 
     return self.email 

class UserProfile(models.Model): 
    user = models.OneToOneField(UserSignup, on_delete=models.CASCADE) 
    full_name = models.CharField(max_length=200, null=True) 
    #photo = models.ImageField(upload_to="/user/image/", blank=True) 
    birth_date = models.DateField(null=True) 
    books_wrote = models.TextField(null=True) 
    journal_wrote = models.TextField(null=True) 
    address = models.TextField(max_length=2000, null=True) 

    @receiver(post_save, sender=UserSignup) 
    def update_user_profile(sender, instance, created, **kwargs): 
     if created: 
      UserProfile.objects.create(user=instance) 

views.py

def user_profile(request):  
    op = UserSignup.objects.get(id=request.session['uid']) 
    #here i want object of profile so i can access fields of profile in template 
    return render(request, 'editor_profile.html', {'op': op}) 

テンプレート

<div class="panel-heading"> 
      <h3 class="panel-title">{{ op.name }}</h3> 
     </div> 

       <div class=" col-md-9 col-lg-9 "> 
        <table class="table table-user-information"> 
         <tbody> 
         <tr> 
          <td>Full Name:</td> 
          <td>{{ op.full_name }}</td> 
         </tr> 

         </tbody> 
        </table> 
       </div> 
      </div> 
     </div> 

    </div> 
+0

'op.userprofile.full_name'を試しましたか? –

+0

ここに継承関係はありません。 –

+0

私は間違ったテンプレートを提供しました@SardorbekImomalievあなたのアプローチは感謝しました。 – rohillasarthak

答えて

2

はあなたが好きOneToOne関連UserProfileモデルフィールドにアクセスすることができ、

{{ op.userprofile.full_name }} 
{{ op.userprofile.birth_date }} 
+0

働いて、ありがとう。 – rohillasarthak

関連する問題