python - 未找到任何参数的“teamEdit”反向。尝试了 1 种模式:['teams/teamEdit/(?P[0-9]+)/$']
问题描述
错误:/teams/teamEdit/12/ 处的 NoReverseMatch
我是 Django 的初学者。我正在尝试制作一个团队应用程序。但是在编辑团队时,我遇到了一些错误。我已经尝试过 stackover flow 的一些解决方案,但仍然显示错误。
这是代码:
团队列表.html:
<a class="font-w500 align-items-center text-primary btn btn-link" href="{% url 'team:teamEdit' team.id %}">
Edit
<i class="fa fa-edit ml-1 opacity-50 font-size-base text-primary"></i>
</a>
网址.py:
path('teamEdit/<int:team_id>/', teamEdit, name='teamEdit'),
视图.py:
@login_required
def teamEdit(request, team_id):
print(team_id)
team = get_object_or_404(Team, pk=team_id, status=Team.ACTIVE, members__in=[request.user])
print(team.title)
if request.method == 'POST':
title = request.POST.get('title')
if title:
team.title = title
team.save()
messages.info(request, 'The changes was saved')
return redirect('team:teamList')
else:
return render(request, 'teamEdit.html', {'team': team})
团队编辑.html:
<h3 class="text-center">Eupdate Team</h3>
<form class="mb-5" method="post" action="{% url 'team:teamEdit' team.id %}">
{% csrf_token %}
<div class="form-group">
<input type="text" class="form-control form-control-lg form-control-alt"
id="id_title" name="title" v-model="title" placeholder="Title">
</div>
<div class="form-group">
<button type="submit" class="btn btn-block btn-success">Save</button>
</div>
</form>
错误回溯:
Traceback (most recent call last):
File "C:\Django\TaskTracker\venv\lib\site-packages\django\core\handlers\exception.py", line 47, in inner
response = get_response(request)
File "C:\Django\TaskTracker\venv\lib\site-packages\django\core\handlers\base.py", line 179, in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "C:\Django\TaskTracker\venv\lib\site-packages\django\contrib\auth\decorators.py", line 21, in _wrapped_view
return view_func(request, *args, **kwargs)
File "C:\Django\TaskTracker\venv\ttm\apps\team\views.py", line 68, in teamEdit
return render(request, 'teamEdit.html', {'team': team})
File "C:\Django\TaskTracker\venv\lib\site-packages\django\shortcuts.py", line 19, in render
content = loader.render_to_string(template_name, context, request, using=using)
File "C:\Django\TaskTracker\venv\lib\site-packages\django\template\loader.py", line 62, in render_to_string
return template.render(context, request)
File "C:\Django\TaskTracker\venv\lib\site-packages\django\template\backends\django.py", line 61, in render
return self.template.render(context)
File "C:\Django\TaskTracker\venv\lib\site-packages\django\template\base.py", line 170, in render
return self._render(context)
File "C:\Django\TaskTracker\venv\lib\site-packages\django\template\base.py", line 162, in _render
return self.nodelist.render(context)
File "C:\Django\TaskTracker\venv\lib\site-packages\django\template\base.py", line 938, in render
bit = node.render_annotated(context)
File "C:\Django\TaskTracker\venv\lib\site-packages\django\template\base.py", line 905, in render_annotated
return self.render(context)
File "C:\Django\TaskTracker\venv\lib\site-packages\django\template\loader_tags.py", line 150, in render
return compiled_parent._render(context)
File "C:\Django\TaskTracker\venv\lib\site-packages\django\template\base.py", line 162, in _render
return self.nodelist.render(context)
File "C:\Django\TaskTracker\venv\lib\site-packages\django\template\base.py", line 938, in render
bit = node.render_annotated(context)
File "C:\Django\TaskTracker\venv\lib\site-packages\django\template\base.py", line 905, in render_annotated
return self.render(context)
File "C:\Django\TaskTracker\venv\lib\site-packages\django\template\loader_tags.py", line 62, in render
result = block.nodelist.render(context)
File "C:\Django\TaskTracker\venv\lib\site-packages\django\template\base.py", line 938, in render
bit = node.render_annotated(context)
File "C:\Django\TaskTracker\venv\lib\site-packages\django\template\base.py", line 905, in render_annotated
return self.render(context)
File "C:\Django\TaskTracker\venv\lib\site-packages\django\template\defaulttags.py", line 446, in render
url = reverse(view_name, args=args, kwargs=kwargs, current_app=current_app)
File "C:\Django\TaskTracker\venv\lib\site-packages\django\urls\base.py", line 87, in reverse
return iri_to_uri(resolver._reverse_with_prefix(view, prefix, *args, **kwargs))
File "C:\Django\TaskTracker\venv\lib\site-packages\django\urls\resolvers.py", line 685, in _reverse_with_prefix
raise NoReverseMatch(msg)
Exception Type: NoReverseMatch at /teams/teamEdit/12/
Exception Value: Reverse for 'teamEdit' with no arguments not found. 1 pattern(s) tried: ['teams/teamEdit/(?P<team_id>[0-9]+)/$']
解决方案
你可以这样做
<h3 class="text-center">Eupdate Team</h3>
<form class="mb-5" method="post" action="{% url 'teamEdit' team_id=team.id %}">
{% csrf_token %}
<div class="form-group">
<input type="text" class="form-control form-control-lg form-control-alt"
id="id_title" name="title" v-model="title" placeholder="Title">
</div>
<div class="form-group">
<button type="submit" class="btn btn-block btn-success">Save</button>
</div>
</form>
推荐阅读
- javascript - 复制文本按钮 JavaScript
- angularjs - Bootbox:对话框宽度问题
- flutter - 带圆角的 AnimatedContainer
- angular - 在 5.7.0 版中找不到模块“firebase/app”
- android - 如何使用 RXJava 2 遍历 JSONArray?
- java - 广播接收器 onReceive 在片段中不起作用
- mysql - 使用 LOAD DATA LOCAL INFILE 将几何数据导入 MySQL
- amazon-web-services - 如何构建和使用 flink-connector-kinesis?
- c# - 使用 C# 在 Web 应用程序上录制音频
- java - 具有自定义设计的 AsymmetricGridView