Py学习  »  Django

django updateview:valueerror:int()的文本无效,基数为10:username

Simran • 5 年前 • 1569 次点击  

我有一个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模板中使用上述用户字段的哪种组合来呈现表单。

请帮忙!谢谢

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/44084
 
1569 次点击  
文章 [ 3 ]  |  最新文章 5 年前