【发布时间】:2020-10-06 06:00:57
【问题描述】:
嘿,我想为我的用户创建一个个人资料页面,当人们登录网站时,他们可以查看每个用户的个人资料,每当我尝试登录用户的每个个人资料时,我都会收到上述错误明白了,下面是我的代码
views.py
>class DoctorDetailView(LoginRequiredMixin, DetailView):
model = Doctor
fields = ['user', 'email', 'image', 'speciality', 'bio']
template_name = 'pages/doctor_detail.html'
def get_queryset(self):
user = get_object_or_404(Doctor, username=self.kwargs.get('username'))
return Doctor.objects.filter(doctor=user.doctor)
urls.py
> path('doctor/', doctor, name='doctor'),
path('doctor/info/<str:username>', user_views.DoctorDetailView.as_view(), name='doctor-detail'),
医生.html
<a href="{% url 'doctor-detail' doc.user.username %}"><div class="img-wrap d-flex align-items-stretch">
<div class="img align-self-stretch" style="background-image: url({{ doc.user.doctor.image.url }}"></div>
models.py
>class CustomUser(AbstractUser):
is_doctor = models.BooleanField(default=False)
def __str__(self):
return self.email
class Status(models.Model):
title= models.CharField(max_length=5)
def __str__(self):
return self.title
class Doctor(models.Model):
user = models.OneToOneField(CustomUser, on_delete=models.CASCADE, null=True, related_name="doctor")
image = models.ImageField(default='jazeera.jpg', upload_to='profile_pics')
bio = models.TextField()
speciality = models.CharField(max_length=300)
describtion = models.CharField(max_length=100)
status = models.ManyToManyField(Status)
【问题讨论】:
-
不应该
user = get_object_or_404(Doctor, username=self.kwargs.get('username'))是user = get_object_or_404(User, username=self.kwargs.get('username'))(所以对于User模型)?
标签: django django-views django-templates