Я хочу создать url, когда пользователь переходит на страницу профиля -- NoReverseMatch в /home

я хочу создать url, когда пользователь нажимает кнопку перейти на страницу профиля

enter image description here

++++ модели

class profile(models.Model):
    user = models.OneToOneField(User, on_delete=models.CASCADE)
    music = models.CharField(max_length=50)
    skils = models.CharField(max_length=50)
    search = models.CharField(max_length=50)
    posts = models.CharField(max_length=50)
    boi = models.TextField()
    img = models.ImageField(upload_to="profile-img")

    def __str__(self):
        #return self.user or 'User'
        return str(self.id)

def create_profile(sender, **kwargs):
    if kwargs['created']:
        user_profile = profile.objects.create(user=kwargs['instance'])

post_save.connect(create_profile, sender=User)

+++ просмотров

def home(request): 
    return render(request, 'main-frond.html')

def profile_edit(request, id):
    pro_edit = profile.objects.get(id=id)
    if request.method == 'POST':
        user_form = User_Form(request.POST, request.FILES, instance=pro_edit)
        if user_form.is_valid():
            user_form.save()
            return redirect('profile_views')
    else:
        user_form = User_Form(instance=pro_edit)
    context = {'user_form' : user_form}
    return render(request, 'profile_edit.html', context)

+++url

    path('home', views.home, name="home"),
    path('profile/<int:id>/edit', views.profile_edit, name="profile_edit")

+++ html

<a href="{% url 'profile_views' %}">profile</a>

django дает мне проблемы

Reverse for 'profile_views' with no arguments not found. 1 pattern(s) tried: ['profile/(?P<id>[0-9]+)\\Z']

я хочу создать url, когда пользователь нажимает кнопку перейти на страницу профиля

Похоже, что вы пытаетесь создать URL для приложения Django, которое неправильно настроено. Сообщение об ошибке "Reverse for 'profile_views' with no arguments not found" предполагает, что вы не указали правильные аргументы в шаблоне URL для представления 'profile_views'.

Похоже, что в шаблоне URL вы ожидаете, что аргумент 'id' будет передан представлению, но он не передается. Убедитесь, что вы передаете аргумент 'id' в URL при перенаправлении пользователя на страницу профиля.

Например, вы можете передать id в URL следующим образом:

path('profile/<int:id>/', views.profile_views, name='profile_views'),

и затем в вашем файле views.py

def profile_views(request, id):
    profile = get_object_or_404(Profile, pk=id)
    return render(request, 'profile.html', {'profile': profile})

Затем при перенаправлении пользователя на страницу профиля, вы можете передать 'id' профиля следующим образом:

return redirect('profile_views', id=profile.id)

Вы также должны убедиться, что функция profile_views определена в файле views.py и что она импортирована в ваш файл urls.py.

Вернуться на верх