我有一个django应用程序,它包含一个基本的概要模型,该模型使用onetoonefield扩展用户模型
class Profile(models.Model):
user = models.OneToOneField(
User,
on_delete=models.CASCADE,
)
这是/updateprofile的url模式
path('updateProfile/<pk>', views.UpdateProfileView.as_view(), name='update_profile'),
从网站的导航栏中调用,如下所示:
<a href="{% url 'update_profile' request.user %}">UpdateProfile</a>
我在forms.py中使用了modelform类,如下所示:
class update_profile_form(forms.ModelForm):
class Meta:
model = Profile
fields = ('phone_number', 'profile_picture')
并在views.py中调用以下基于类的updateview视图:
@method_decorator(login_required, 'dispatch')
class UpdateProfileView(UpdateView):
model = Profile
success_url = reverse_lazy('home')
form_class = update_profile_form
template_name = 'update_profile.html'
# this is where the error occurs
def get_queryset(self):
return Profile.objects.filter(user=self.request.user)
my urls.py文件包含以下模式:
urlpatterns = [
path('', TemplateView.as_view(template_name='Login/home.html'), name='home'),
path('home/', TemplateView.as_view(template_name='Login/home.html'), name='home'),
path('updateProfile/<pk>', views.UpdateProfileView.as_view(), name='update_profile'),
]
我无法确定在update_profile.html模板中使用上述用户字段的哪种组合来呈现表单。
请帮忙!谢谢