如何将我的创建视图重定向到与创建视图ID相同的URL ID

时间:2019-03-18 12:18:46

标签: django-views django-urls django-class-based-views

我正在尝试创建一个createview,它将创建用户信息,然后将他们重定向到具有完整信息的个人资料页面,但是问题是在提交表单后,它将他们重定向到个人资料页面,但是创建了该个人资料页面的新实例而不是使用更新的信息重定向到实际的个人资料页面

在这里是创建视图

class Profile_Create(CreateView):
    fields = ['image','cover_image','country','height','birth_date','smoking','relationship','looking_for','diet','kids','eye_color','status','hobby',]
    model = UserDetail
    template_name = 'social_app/profile-create.html'
    context_object_name = 'user'

这是模型。py

class UserDetail(models.Model):
        country = CountryField()

        height = models.PositiveIntegerField(default = 110 , validators=[MaxValueValidator(215), MinValueValidator(70)])

        birth_date = models.DateField(("Date"), default=datetime.date.today)

        smoking = models.CharField(max_length = 30,default = 'No')


        def get_absolute_url(self):
            return reverse('social_app:profile',kwargs = {'pk':self.pk})

以下是个人资料创建和个人资料的网址

url(r'^profile/(?P<pk>[-\w]+)/$',views.profile,name = 'profile'),
url(r'^profile-create/(?P<pk>[-\w]+)/$',views.Profile_Create.as_view(),name = 'profile_create'),

这是这些网址的html

  <li><a class="dropdown-item" href="{% url 'social_app:profile'  user.pk %}">My Profile</a></li>



                  <li><a class="dropdown-item" href="{% url 'social_app:profile_create' user.pk %}">Edit Profile</a

0 个答案:

没有答案