まず最初に、テンプレートのモデルにアクセスすることに関して多くの質問がありますが、なぜこれが異なるのか説明してください。Django--現在のユーザーのみのテンプレートのモデルフィールドを取得
私はプロフィールページを希望します。ユーザーは詳細を見ることができます。私はそれを行うことができますが、小さなバグが1つあります。 3人のユーザ(A、B、C)があり、ユーザAが自分のプロフィールを見たい場合、彼はそれを3回見る。このように:私は一回の反復後にループを停止するにはどうすればよい
ユーザーは、一度だけの彼のプロファイル情報を取得するようにします。
これは私のURLです:
url(r'^profile/$', views.IndexView.as_view(), name='profile'),
Views.py:
class IndexView(generic.ListView):
template_name = 'profile.html'
def get_queryset(self):
return Profile.objects.all()
とprofile.html:
{% if user.is_authenticated %}
{% for profile in object_list %}
<h1>{{ request.user }}'s Profile</h1>
<table>
<tr>
<td>Username:</td>
<td>{{ user.username }}</td>
</tr>
<tr>
<td>First Name:</td>
<td>{{ user.first_name }}</td>
</tr>
<tr>
<td>Last Name:</td>
<td>{{ user.last_name }}</td>
</tr>
<tr>
<td>Email:</td>
<td>{{ user.email }}</td>
</tr>
<tr>
<td>Personal Info:</td>
<td>{{ user.profile.personal_info }}</td>
</tr>
<tr>
<td>Job Title:</td>
<td>{{ user.profile.job_title }}</td>
</tr>
<tr>
<td>Department:</td>
<td>{{ user.profile.department }}</td>
</tr>
<tr>
<td>Location:</td>
<td>{{ user.profile.location }}</td>
</tr>
<tr>
<td>Expertise:</td>
<td>{{ user.profile.expertise }}</td>
</tr>
<tr>
<td>Phone Number:</td>
<td>{{ user.profile.phone_number }}</td>
</tr>
<tr>
<td>Contact Skype:</td>
<td>{{ user.contact_skype }}</td>
</tr>
<tr>
<td>Contact Facebook:</td>
<td>{{ user.contact_facebook }}</td>
</tr>
<tr>
<td>Contact Linkedin:</td>
<td>{{ user.profile.contact_linkedin }}</td>
</tr>
</table>
<form class="form-horizontal" action="" method="post" enctype="multipart/form-data">
{% csrf_token %}
{% include 'form-template.html' %}
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<a href={% url 'profile_edit' %}><input type="button" class = " col-sm-offset-2 btn bk-bs-btn-warning " name="cancel" value="Edit" /></a>
</div>
</div>
</form>
{% endfor %}
{% else %}
<h2>Please login to see your Profile</h2>
{% endif %}
私はDjangoのための初心者です、おかげで進歩です。
ありがとうございます。最初はループなしでユーザーを除外しました(たとえば、私はprofile.personal_infoを書きました)、何も返されませんでした。私はそれがプロファイルを認識しなかったからだと思ったので、私は可変プロファイルのループを作成しました。しかし、今私はuser.profile.personal_info(例えば)を書く場合は動作します。これを私に説明してもらえますか? – Uttam
説明が追加されました。 – user6731765