如何解决NoReverseMatch 出错 - 我的 HTML url 中的问题
当我单击我的编辑按钮(位于名为 profile.html 的页面上)时,我在 /profile/singingstarz 获得 noreverseMatch 未找到带有参数 '('',)' 的 'edit_post' 反转。尝试了 1 个模式:['edit_post/(?P[^/]+)/$']
问题是我的 html 中的一行,但我不知道它应该是什么:
<a class="btn btn-sm btn-info" href="{% url 'edit_post' post.id %}">View</a>
urls.py
urlpatterns = [
path("",views.index,name="index"),path("make_post",views.make_post,name="make_post"),path('edit_post/<str:pk>/',views.edit_post,name="edit_post"),path("profile/<str:username>",views.profile,name="profile"),]
我目前的观点,但我尝试了许多不同的观点。问题出在 html 部分,因为当我取出它时,个人资料页面加载完全正常。
@login_required
@csrf_exempt
def edit_post(request):
if request.method == "POST":
post_id = request.POST.get('id')
new_post = request.POST.get('text')
try:
post = Post.objects.get(id=post_id)
if post.username == request.user:
post.text = new_post.strip()
post.save()
return JsonResponse({},status=201)
except:
return JsonResponse({},status=404)
return JsonResponse({},status=400)
models.py
class User(AbstractUser):
pass
class Post(models.Model):
text = models.TextField(max_length=500,blank=True,null=True)
username = models.ForeignKey('User',on_delete=models.CASCADE,related_name='author',null=True,blank=True)
timestamp = models.DateTimeField(auto_Now_add=True)
like = models.ManyToManyField(
User,related_name="liked_user")
def __str__(self):
return self.username.username #used to be .user.username
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。