如何解决未找到参数为 '('',)' 的 'like_majstor' 反转尝试了 1 个模式:['likeProfile/(?P<pk>[0-9]+)$'] 问题
我正在尝试为我的用户添加一个赞按钮。我的 AbstractUser
模型中有两种类型的用户,由 user_type
分隔。我希望 like 按钮的这种行为:KORISNIK
类型的用户可以喜欢 MAJSTORI
类型的用户。
但是当我尝试运行我的解决方案时,我收到此错误:
未找到参数为 '('',)' 的 'like_majstor' 反转。尝试了 1 个模式:['likeProfile/(?P[0-9]+)$'] 问题
models.py
class CustomKorisnici(AbstractUser):
MAJSTOR = '1'
KORISNIK = '2'
USER_TYPE_CHOICE = (
(MAJSTOR,'majstor'),(KORISNIK,'korisnik')
)
user_type = models.CharField(max_length=100,blank=True,choices=USER_TYPE_CHOICE)
username = models.CharField(max_length=100,unique=True)
...
def __str__(self):
return self.username + ' | ' +self.last_name + ' | ' + self.first_name + ' | ' + str(self.phone_number) + ' | ' + self.user_type + ' | ' + self.email+ ' | ' + str(self.id)
class LikeButton(models.Model):
user = models.ForeignKey(CustomKorisnici,on_delete=models.CASCADE)
likes = models.ManyToManyField(CustomKorisnici,related_name='profile_like')
views.py
def LikeProfile(request,pk):
like = get_object_or_404(LikeButton,id=request.POST.get('majstori_id'))
like.likes.add(request.user)
return HttpResponseRedirect(reverse('majstori_profile',args=[str(pk)]))
class MajstoriProfile(DetailView):
model = CustomKorisnici
context_object_name = 'majstori'
template_name = 'majstori_profile.html'
def get_context_data(self,*args,**kwargs):
user = CustomKorisnici.objects.all()
context = super(MajstoriProfile,self).get_context_data(*args,**kwargs)
majstori= get_object_or_404(CustomKorisnici,id=self.kwargs['pk'])
context['majstori'] = majstori
return context
urls.py
path('likeProfile/<int:pk>',LikeProfile,name="like_majstor"),
模板:
<form action="{% url 'like_majstor' majstor.pk %}" method="post">
{% csrf_token %}
<button type="submit" name="majstor_id" value="{{ majstor.pk }}" class="btn">Like</button>
</form>
解决方法
尝试输入网址
url(r'^likeProfile/(?P[0-9].+)/$')
,
你的动作属性应该是
{% url 'like_majstor' majstori.pk %}
您好像漏掉了一个“i”。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。