Django使用updateView获取此错误:noreversematch at/user/2/edit



我有一个更新视图供用户更新其配置文件。但是我一直遇到此错误:

NoReverseMatch at /user/2/edit
Reverse for 'user_profile' with no arguments not found. 1 pattern(s) tried: ['user/(?P<pk>\d+)/$']

我没有尝试过任何工作(添加PK等)。

updateView:

class UserEditProfileView(LoginRequiredMixin,UpdateView):
    login_url = '/login/'
    model = UserProfile
    fields = [
            'first_name',
            'profile_pic',
            'location',
            'title',
            'user_type',
            'website',
            'about',
            'twitter',
            'dribbble',
            'github'
            ]
    template_name_suffix = '_edit_form'
    success_url = reverse_lazy('users:user_profile')

应用程序:

from django.conf.urls import url
from users import views
app_name = 'users'
urlpatterns = [
    url(r'^$',views.UserListView.as_view(),name='user_list'),
    url(r'^(?P<pk>d+)/$',views.detailprofile,name='user_profile'),
    url(r'^(?P<pk>d+)/edit$',views.UserEditProfileView.as_view(),name='user_profile_edit'),
    url(r'^login/$',views.user_login,name='user_login'),
    url(r'^logout/$',views.user_logout,name='user_logout'),
    url(r'^register/$',views.register,name='register'),
]

编辑配置模板:

{% extends "users/base.html" %}
{% block content %}
    <div class="form-base">
        <h2>Edit Profile</h2>
        <form method="POST">
            {% csrf_token %}
            {{ form.as_p }}
            <input type="submit" value="Save" />
        </form>
</div>
{% endblock %}

让我知道您是否需要看到其他任何东西。

您还需要在user_profile

中提供pk
class UserEditProfileView(LoginRequiredMixin,UpdateView):
    login_url = '/login/'
    model = UserProfile
    fields = [
        'first_name',
        'profile_pic',
        'location',
        'title',
        'user_type',
        'website',
        'about',
        'twitter',
        'dribbble',
        'github'
        ]
    template_name_suffix = '_edit_form'
    def get_success_url(self):
        userid = self.kwargs['pk']
        return reverse_lazy('users:user_profile', kwargs={'pk': userid})

相关内容

最新更新