Я хочу создать url, когда пользователь переходит на страницу профиля -- NoReverseMatch в /home
я хочу создать url, когда пользователь нажимает кнопку перейти на страницу профиля
++++ модели
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.