当用户单击传递到配置文件页面时,我想创建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)
+++网址
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
1条答案
按热度按时间k4aesqcs1#
看起来您正在尝试为Django应用程序创建一个未正确配置的URL。错误消息“Reverse for 'profile_views' with no arguments not found”表明您没有在URL模式中为'profile_views'视图提供正确的参数。
看起来在URL模式中,您希望将参数“id”传递给视图,但实际上没有传递。请确保在将用户重定向到配置文件页时在URL中传递“id”参数。
例如,您可以在URL中传递id,如下所示:
然后在你的网站上views.py
然后,在将用户重定向到配置文件页面时,您可以按如下方式传递配置文件的“id”:
您还应确保profile_views函数是在www.example.com中定义views.py,并将其导入到urls.py文件中。