Python POST后反转(NoReverseMatch)
我是Python的初学者。在这种情况下,我只想在更新数据后返回个人资料的详细信息(index.html)。我发现了错误,NoReverseMatch 型号.pyPython POST后反转(NoReverseMatch),python,django,redirect,Python,Django,Redirect,我是Python的初学者。在这种情况下,我只想在更新数据后返回个人资料的详细信息(index.html)。我发现了错误,NoReverseMatch 型号.py from django.contrib.auth.models import User from modulos.administracao.models import * from django.urls import reverse class PessoaVinculada(models.Model): class M
from django.contrib.auth.models import User
from modulos.administracao.models import *
from django.urls import reverse
class PessoaVinculada(models.Model):
class Meta:
ordering = ['nome']
verbose_name = 'Pessoa Vinculada á Unidade'
verbose_name_plural = 'Pessoas Vinculadas á Unidade'
user = models.OneToOneField(User, unique=True, related_name='pessoa_vinculada', on_delete=models.CASCADE)
nome = models.CharField(max_length=200, null=True, verbose_name='Nome completo')
apelido_em_uso = models.CharField(max_length=20, null=True, verbose_name='Apelido em uso')
genero = models.ForeignKey(Generos, null=True, verbose_name='Género', on_delete=models.SET_NULL)
acesso_a_aplicacao = models.BooleanField(default=True, verbose_name='Acesso à aplicação')
def __str__(self):
return '{}'.format(self.nome)
def get_success_url(self, **kwargs):
# obj = form.instance or self.object
return reverse("profile", kwargs={'pk': self.id})
def nim(self):
return '{}'.format(self.user.username)
def nome_apelido_em_uso(self):
if self.nome and self.apelido_em_uso:
n = self.nome.split()
return '{} {}'.format(n[0], self.apelido_em_uso)
else:
return '{}'.format(self.nome)
from django.http import HttpResponseRedirect
from django.shortcuts import get_object_or_404, render
from django.contrib.auth.decorators import login_required
from modulos.gestao.forms import *
@login_required(login_url="/login/")
def estado_maior_seccao_pessoal_pessoal_pessoas_vinculadas_dados_biograficos_elementos_gerais(request, pk=None):
context = {}
context['user'] = get_object_or_404(User, id=pk)
context['pessoa_vinculada'] = get_object_or_404(PessoaVinculada, user_id=pk)
context['pessoa_vinculada_identificacao'] = PessoaVinculadaIdentificacao.objects.filter(user_id=pk)
context['pessoa_vinculada_foto'] = PessoaVinculadaFoto.objects.filter(user_id=pk)
return render(request, 'gestao/estado_maior/seccao_pessoal/pessoal/pessoas_vinculadas/dados_biograficos/geral/index.html', context)
@login_required(login_url="/login/")
def estado_maior_seccao_pessoal_pessoal_pessoas_vinculadas_dados_biograficos_elementos_gerais_editar(request, pk=None):
user = get_object_or_404(User, id=pk)
pessoa_vinculada_identificacao = PessoaVinculadaIdentificacao.objects.filter(user_id=pk)
pessoa_vinculada_foto = PessoaVinculadaFoto.objects.filter(user_id=pk)
pessoa_vinculada = get_object_or_404(PessoaVinculada, id=pk)
if request.method == 'POST':
user_form = PessoaVinculadaForm(request.POST, instance=pessoa_vinculada)
if user_form.is_valid():
user_form.save()
return HttpResponseRedirect(reverse("estado_maior_seccao_pessoal_pessoal_pessoas_vinculadas_dados_biograficos_elementos_gerais"))
else:
context = {
'user': user,
'pessoa_vinculada_identificacao': pessoa_vinculada_identificacao,
'pessoa_vinculada_foto': pessoa_vinculada_foto,
'pessoa_vinculada': pessoa_vinculada,
'user_form': user_form,
}
return render(request, 'gestao/estado_maior/seccao_pessoal/pessoal/pessoas_vinculadas/dados_biograficos/geral/editar.html', context)
else:
user_form = PessoaVinculadaForm(instance=pessoa_vinculada)
context = {
'user': user,
'pessoa_vinculada_identificacao': pessoa_vinculada_identificacao,
'pessoa_vinculada_foto': pessoa_vinculada_foto,
'pessoa_vinculada': pessoa_vinculada,
'user_form': user_form,
}
return render(request, 'gestao/estado_maior/seccao_pessoal/pessoal/pessoas_vinculadas/dados_biograficos/geral/editar.html', context)
from modulos.gestao import views
from django.urls import path
urlpatterns = [
path('estado_maior/seccao_pessoal/pessoal/pessoas_vinculadas/dados_biograficos/<int:pk>/geral/', views.estado_maior_seccao_pessoal_pessoal_pessoas_vinculadas_dados_biograficos_elementos_gerais, name='estado_maior_seccao_pessoal_pessoal_pessoas_vinculadas_dados_biograficos_elementos_gerais'),
path('estado_maior/seccao_pessoal/pessoal/pessoas_vinculadas/dados_biograficos/geral/<int:pk>/editar/', views.estado_maior_seccao_pessoal_pessoal_pessoas_vinculadas_dados_biograficos_elementos_gerais_editar, name='estado_maior_seccao_pessoal_pessoal_pessoas_vinculadas_dados_biograficos_elementos_gerais_editar'),
]
视图.py
from django.contrib.auth.models import User
from modulos.administracao.models import *
from django.urls import reverse
class PessoaVinculada(models.Model):
class Meta:
ordering = ['nome']
verbose_name = 'Pessoa Vinculada á Unidade'
verbose_name_plural = 'Pessoas Vinculadas á Unidade'
user = models.OneToOneField(User, unique=True, related_name='pessoa_vinculada', on_delete=models.CASCADE)
nome = models.CharField(max_length=200, null=True, verbose_name='Nome completo')
apelido_em_uso = models.CharField(max_length=20, null=True, verbose_name='Apelido em uso')
genero = models.ForeignKey(Generos, null=True, verbose_name='Género', on_delete=models.SET_NULL)
acesso_a_aplicacao = models.BooleanField(default=True, verbose_name='Acesso à aplicação')
def __str__(self):
return '{}'.format(self.nome)
def get_success_url(self, **kwargs):
# obj = form.instance or self.object
return reverse("profile", kwargs={'pk': self.id})
def nim(self):
return '{}'.format(self.user.username)
def nome_apelido_em_uso(self):
if self.nome and self.apelido_em_uso:
n = self.nome.split()
return '{} {}'.format(n[0], self.apelido_em_uso)
else:
return '{}'.format(self.nome)
from django.http import HttpResponseRedirect
from django.shortcuts import get_object_or_404, render
from django.contrib.auth.decorators import login_required
from modulos.gestao.forms import *
@login_required(login_url="/login/")
def estado_maior_seccao_pessoal_pessoal_pessoas_vinculadas_dados_biograficos_elementos_gerais(request, pk=None):
context = {}
context['user'] = get_object_or_404(User, id=pk)
context['pessoa_vinculada'] = get_object_or_404(PessoaVinculada, user_id=pk)
context['pessoa_vinculada_identificacao'] = PessoaVinculadaIdentificacao.objects.filter(user_id=pk)
context['pessoa_vinculada_foto'] = PessoaVinculadaFoto.objects.filter(user_id=pk)
return render(request, 'gestao/estado_maior/seccao_pessoal/pessoal/pessoas_vinculadas/dados_biograficos/geral/index.html', context)
@login_required(login_url="/login/")
def estado_maior_seccao_pessoal_pessoal_pessoas_vinculadas_dados_biograficos_elementos_gerais_editar(request, pk=None):
user = get_object_or_404(User, id=pk)
pessoa_vinculada_identificacao = PessoaVinculadaIdentificacao.objects.filter(user_id=pk)
pessoa_vinculada_foto = PessoaVinculadaFoto.objects.filter(user_id=pk)
pessoa_vinculada = get_object_or_404(PessoaVinculada, id=pk)
if request.method == 'POST':
user_form = PessoaVinculadaForm(request.POST, instance=pessoa_vinculada)
if user_form.is_valid():
user_form.save()
return HttpResponseRedirect(reverse("estado_maior_seccao_pessoal_pessoal_pessoas_vinculadas_dados_biograficos_elementos_gerais"))
else:
context = {
'user': user,
'pessoa_vinculada_identificacao': pessoa_vinculada_identificacao,
'pessoa_vinculada_foto': pessoa_vinculada_foto,
'pessoa_vinculada': pessoa_vinculada,
'user_form': user_form,
}
return render(request, 'gestao/estado_maior/seccao_pessoal/pessoal/pessoas_vinculadas/dados_biograficos/geral/editar.html', context)
else:
user_form = PessoaVinculadaForm(instance=pessoa_vinculada)
context = {
'user': user,
'pessoa_vinculada_identificacao': pessoa_vinculada_identificacao,
'pessoa_vinculada_foto': pessoa_vinculada_foto,
'pessoa_vinculada': pessoa_vinculada,
'user_form': user_form,
}
return render(request, 'gestao/estado_maior/seccao_pessoal/pessoal/pessoas_vinculadas/dados_biograficos/geral/editar.html', context)
from modulos.gestao import views
from django.urls import path
urlpatterns = [
path('estado_maior/seccao_pessoal/pessoal/pessoas_vinculadas/dados_biograficos/<int:pk>/geral/', views.estado_maior_seccao_pessoal_pessoal_pessoas_vinculadas_dados_biograficos_elementos_gerais, name='estado_maior_seccao_pessoal_pessoal_pessoas_vinculadas_dados_biograficos_elementos_gerais'),
path('estado_maior/seccao_pessoal/pessoal/pessoas_vinculadas/dados_biograficos/geral/<int:pk>/editar/', views.estado_maior_seccao_pessoal_pessoal_pessoas_vinculadas_dados_biograficos_elementos_gerais_editar, name='estado_maior_seccao_pessoal_pessoal_pessoas_vinculadas_dados_biograficos_elementos_gerais_editar'),
]
forms.py
from django.contrib.auth.models import User
from modulos.administracao.models import *
from django.urls import reverse
class PessoaVinculada(models.Model):
class Meta:
ordering = ['nome']
verbose_name = 'Pessoa Vinculada á Unidade'
verbose_name_plural = 'Pessoas Vinculadas á Unidade'
user = models.OneToOneField(User, unique=True, related_name='pessoa_vinculada', on_delete=models.CASCADE)
nome = models.CharField(max_length=200, null=True, verbose_name='Nome completo')
apelido_em_uso = models.CharField(max_length=20, null=True, verbose_name='Apelido em uso')
genero = models.ForeignKey(Generos, null=True, verbose_name='Género', on_delete=models.SET_NULL)
acesso_a_aplicacao = models.BooleanField(default=True, verbose_name='Acesso à aplicação')
def __str__(self):
return '{}'.format(self.nome)
def get_success_url(self, **kwargs):
# obj = form.instance or self.object
return reverse("profile", kwargs={'pk': self.id})
def nim(self):
return '{}'.format(self.user.username)
def nome_apelido_em_uso(self):
if self.nome and self.apelido_em_uso:
n = self.nome.split()
return '{} {}'.format(n[0], self.apelido_em_uso)
else:
return '{}'.format(self.nome)
from django.http import HttpResponseRedirect
from django.shortcuts import get_object_or_404, render
from django.contrib.auth.decorators import login_required
from modulos.gestao.forms import *
@login_required(login_url="/login/")
def estado_maior_seccao_pessoal_pessoal_pessoas_vinculadas_dados_biograficos_elementos_gerais(request, pk=None):
context = {}
context['user'] = get_object_or_404(User, id=pk)
context['pessoa_vinculada'] = get_object_or_404(PessoaVinculada, user_id=pk)
context['pessoa_vinculada_identificacao'] = PessoaVinculadaIdentificacao.objects.filter(user_id=pk)
context['pessoa_vinculada_foto'] = PessoaVinculadaFoto.objects.filter(user_id=pk)
return render(request, 'gestao/estado_maior/seccao_pessoal/pessoal/pessoas_vinculadas/dados_biograficos/geral/index.html', context)
@login_required(login_url="/login/")
def estado_maior_seccao_pessoal_pessoal_pessoas_vinculadas_dados_biograficos_elementos_gerais_editar(request, pk=None):
user = get_object_or_404(User, id=pk)
pessoa_vinculada_identificacao = PessoaVinculadaIdentificacao.objects.filter(user_id=pk)
pessoa_vinculada_foto = PessoaVinculadaFoto.objects.filter(user_id=pk)
pessoa_vinculada = get_object_or_404(PessoaVinculada, id=pk)
if request.method == 'POST':
user_form = PessoaVinculadaForm(request.POST, instance=pessoa_vinculada)
if user_form.is_valid():
user_form.save()
return HttpResponseRedirect(reverse("estado_maior_seccao_pessoal_pessoal_pessoas_vinculadas_dados_biograficos_elementos_gerais"))
else:
context = {
'user': user,
'pessoa_vinculada_identificacao': pessoa_vinculada_identificacao,
'pessoa_vinculada_foto': pessoa_vinculada_foto,
'pessoa_vinculada': pessoa_vinculada,
'user_form': user_form,
}
return render(request, 'gestao/estado_maior/seccao_pessoal/pessoal/pessoas_vinculadas/dados_biograficos/geral/editar.html', context)
else:
user_form = PessoaVinculadaForm(instance=pessoa_vinculada)
context = {
'user': user,
'pessoa_vinculada_identificacao': pessoa_vinculada_identificacao,
'pessoa_vinculada_foto': pessoa_vinculada_foto,
'pessoa_vinculada': pessoa_vinculada,
'user_form': user_form,
}
return render(request, 'gestao/estado_maior/seccao_pessoal/pessoal/pessoas_vinculadas/dados_biograficos/geral/editar.html', context)
from modulos.gestao import views
from django.urls import path
urlpatterns = [
path('estado_maior/seccao_pessoal/pessoal/pessoas_vinculadas/dados_biograficos/<int:pk>/geral/', views.estado_maior_seccao_pessoal_pessoal_pessoas_vinculadas_dados_biograficos_elementos_gerais, name='estado_maior_seccao_pessoal_pessoal_pessoas_vinculadas_dados_biograficos_elementos_gerais'),
path('estado_maior/seccao_pessoal/pessoal/pessoas_vinculadas/dados_biograficos/geral/<int:pk>/editar/', views.estado_maior_seccao_pessoal_pessoal_pessoas_vinculadas_dados_biograficos_elementos_gerais_editar, name='estado_maior_seccao_pessoal_pessoal_pessoas_vinculadas_dados_biograficos_elementos_gerais_editar'),
]
来自django导入表单
从modulos.pessoas.vinculadas.models导入*
class PessoaVinculadaForm(forms.ModelForm):
class Meta:
model = PessoaVinculada
fields = [
'user',
'nome',
'apelido_em_uso',
'genero',
'acesso_a_aplicacao',
]
url.py
from django.contrib.auth.models import User
from modulos.administracao.models import *
from django.urls import reverse
class PessoaVinculada(models.Model):
class Meta:
ordering = ['nome']
verbose_name = 'Pessoa Vinculada á Unidade'
verbose_name_plural = 'Pessoas Vinculadas á Unidade'
user = models.OneToOneField(User, unique=True, related_name='pessoa_vinculada', on_delete=models.CASCADE)
nome = models.CharField(max_length=200, null=True, verbose_name='Nome completo')
apelido_em_uso = models.CharField(max_length=20, null=True, verbose_name='Apelido em uso')
genero = models.ForeignKey(Generos, null=True, verbose_name='Género', on_delete=models.SET_NULL)
acesso_a_aplicacao = models.BooleanField(default=True, verbose_name='Acesso à aplicação')
def __str__(self):
return '{}'.format(self.nome)
def get_success_url(self, **kwargs):
# obj = form.instance or self.object
return reverse("profile", kwargs={'pk': self.id})
def nim(self):
return '{}'.format(self.user.username)
def nome_apelido_em_uso(self):
if self.nome and self.apelido_em_uso:
n = self.nome.split()
return '{} {}'.format(n[0], self.apelido_em_uso)
else:
return '{}'.format(self.nome)
from django.http import HttpResponseRedirect
from django.shortcuts import get_object_or_404, render
from django.contrib.auth.decorators import login_required
from modulos.gestao.forms import *
@login_required(login_url="/login/")
def estado_maior_seccao_pessoal_pessoal_pessoas_vinculadas_dados_biograficos_elementos_gerais(request, pk=None):
context = {}
context['user'] = get_object_or_404(User, id=pk)
context['pessoa_vinculada'] = get_object_or_404(PessoaVinculada, user_id=pk)
context['pessoa_vinculada_identificacao'] = PessoaVinculadaIdentificacao.objects.filter(user_id=pk)
context['pessoa_vinculada_foto'] = PessoaVinculadaFoto.objects.filter(user_id=pk)
return render(request, 'gestao/estado_maior/seccao_pessoal/pessoal/pessoas_vinculadas/dados_biograficos/geral/index.html', context)
@login_required(login_url="/login/")
def estado_maior_seccao_pessoal_pessoal_pessoas_vinculadas_dados_biograficos_elementos_gerais_editar(request, pk=None):
user = get_object_or_404(User, id=pk)
pessoa_vinculada_identificacao = PessoaVinculadaIdentificacao.objects.filter(user_id=pk)
pessoa_vinculada_foto = PessoaVinculadaFoto.objects.filter(user_id=pk)
pessoa_vinculada = get_object_or_404(PessoaVinculada, id=pk)
if request.method == 'POST':
user_form = PessoaVinculadaForm(request.POST, instance=pessoa_vinculada)
if user_form.is_valid():
user_form.save()
return HttpResponseRedirect(reverse("estado_maior_seccao_pessoal_pessoal_pessoas_vinculadas_dados_biograficos_elementos_gerais"))
else:
context = {
'user': user,
'pessoa_vinculada_identificacao': pessoa_vinculada_identificacao,
'pessoa_vinculada_foto': pessoa_vinculada_foto,
'pessoa_vinculada': pessoa_vinculada,
'user_form': user_form,
}
return render(request, 'gestao/estado_maior/seccao_pessoal/pessoal/pessoas_vinculadas/dados_biograficos/geral/editar.html', context)
else:
user_form = PessoaVinculadaForm(instance=pessoa_vinculada)
context = {
'user': user,
'pessoa_vinculada_identificacao': pessoa_vinculada_identificacao,
'pessoa_vinculada_foto': pessoa_vinculada_foto,
'pessoa_vinculada': pessoa_vinculada,
'user_form': user_form,
}
return render(request, 'gestao/estado_maior/seccao_pessoal/pessoal/pessoas_vinculadas/dados_biograficos/geral/editar.html', context)
from modulos.gestao import views
from django.urls import path
urlpatterns = [
path('estado_maior/seccao_pessoal/pessoal/pessoas_vinculadas/dados_biograficos/<int:pk>/geral/', views.estado_maior_seccao_pessoal_pessoal_pessoas_vinculadas_dados_biograficos_elementos_gerais, name='estado_maior_seccao_pessoal_pessoal_pessoas_vinculadas_dados_biograficos_elementos_gerais'),
path('estado_maior/seccao_pessoal/pessoal/pessoas_vinculadas/dados_biograficos/geral/<int:pk>/editar/', views.estado_maior_seccao_pessoal_pessoal_pessoas_vinculadas_dados_biograficos_elementos_gerais_editar, name='estado_maior_seccao_pessoal_pessoal_pessoas_vinculadas_dados_biograficos_elementos_gerais_editar'),
]
来自modulos.gesto导入视图
从django.url导入路径
URL模式=[
路径('estado_maior/seccao_pessoal/pessoas_vinculadas/dados_biograficos//geral/',view.estado_maior_seccao_pessoal_pessoal_vinculadas_pessoas_biograficos_elementos_gerais,name='estado_maior_seccao_pessoal_pessoal_pessoal_biograficos_vinculadas_biograficos_elementos_gerais','s,name's',
path('estado_maior/seccao_pessoal/pessoal/pessoas_vinculadas/dados_biograficos/geral//editar/',views.estado_maior_seccao_pessoal_pessoas_vinculadas_biograficos_gerais_editar,name='estado_maior_pessoal_pessoal_pessoal_vinculadas_biograficos_elementos_gerais_biograis_editar,pessoa'u pessoa's'编辑,name='estado"',
]
editar.html
<form method="post" action="" enctype="multipart/form-data">
{% csrf_token %}
<div class="row">
<div class="hidden">
{{ user_form.user }}
</div>
</div>
<br>
<div class="row">
<div class="col-sm-5">
{{ user_form.nome|as_crispy_field }}
</div>
<div class="col-sm-2">
{{ user_form.apelido_em_uso|as_crispy_field }}
</div>
</div>
<br>
<div class="row">
<div class="col-sm-2">
{{ user_form.genero|as_crispy_field }}
</div>
</div>
<br>
<div class="row">
<div class="col-sm-2">
{{ user_form.acesso_a_aplicacao|as_crispy_field }}
</div>
</div>
<br>
<div style="border-bottom: 1px solid rgba(0, 0, 0, 0.3);"> </div>
<br>
<button class="btn btn-success btn-sm" type="submit" class="button">Guardar</button>
<a href="/gestao/estado_maior/seccao_pessoal/pessoal/pessoas_vinculadas/dados_biograficos/{{ user.id }}/geral/"
class="btn btn-danger btn-sm"
type="button">Cancelar</a>
</form>
{%csrf_令牌%}
{{user_form.user}}
{{user_form.nome}as_crispy_field}
{{user_form.apelido_em_uso|as_crispy_field}
{{user_form.慷慨}as_crispy_field}
{{user_form.acesso_a_aplicacao}as_crispy_field}
瓜达尔
错误:
NoReverseMatch at /gestao/estado_maior/seccao_pessoal/pessoal/pessoas_vinculadas/dados_biograficos/geral/1/editar/
Reverse for 'estado_maior_seccao_pessoal_pessoal_pessoas_vinculadas_dados_biograficos_elementos_gerais' with no arguments not found. 1 pattern(s) tried: ['gestao\\/estado_maior\\/seccao_pessoal\\/pessoal\\/pessoas_vinculadas\\/dados_biograficos\\/(?P<pk>[0-9]+)\\/geral\\/$']
Request Method: POST
Request URL: http://127.0.0.1:8000/gestao/estado_maior/seccao_pessoal/pessoal/pessoas_vinculadas/dados_biograficos/geral/1/editar/
Django Version: 2.0.7
Exception Type: NoReverseMatch
Exception Value:
Reverse for 'estado_maior_seccao_pessoal_pessoal_pessoas_vinculadas_dados_biograficos_elementos_gerais' with no arguments not found. 1 pattern(s) tried: ['gestao\\/estado_maior\\/seccao_pessoal\\/pessoal\\/pessoas_vinculadas\\/dados_biograficos\\/(?P<pk>[0-9]+)\\/geral\\/$']
Exception Location: F:\Work\RTm_Project\GitLab\Python\gesrhu\venv\lib\site-packages\django\urls\resolvers.py in _reverse_with_prefix, line 636
Python Executable: F:\Work\RTm_Project\GitLab\Python\gesrhu\venv\Scripts\python.exe
Python Version: 3.6.6
Python Path:
['F:\\Work\\RTm_Project\\GitLab\\Python\\gesrhu',
'F:\\Work\\RTm_Project\\GitLab\\Python\\gesrhu',
'F:\\Work\\RTm_Project\\GitLab\\Python\\gesrhu\\venv\\Scripts\\python36.zip',
'C:\\Users\\fonse\\AppData\\Local\\Programs\\Python\\Python36-32\\DLLs',
'C:\\Users\\fonse\\AppData\\Local\\Programs\\Python\\Python36-32\\lib',
'C:\\Users\\fonse\\AppData\\Local\\Programs\\Python\\Python36-32',
'F:\\Work\\RTm_Project\\GitLab\\Python\\gesrhu\\venv',
'F:\\Work\\RTm_Project\\GitLab\\Python\\gesrhu\\venv\\lib\\site-packages',
'F:\\Work\\RTm_Project\\GitLab\\Python\\gesrhu\\venv\\lib\\site-packages\\setuptools-39.1.0-py3.6.egg',
'F:\\Work\\RTm_Project\\GitLab\\Python\\gesrhu\\venv\\lib\\site-packages\\pip-10.0.1-py3.6.egg',
'C:\\Program Files\\JetBrains\\PyCharm '
'2018.1.4\\helpers\\pycharm_matplotlib_backend']
Server time: Mon, 16 Jul 2018 17:57:09 +0100
NoReverseMatch at/gestao/estado_maior/seccao_pessoal/pessoal/pessoas_vinculadas/dados_biograficos/geral/1/editar/
背面为“estado_maior_seccao_pessoal_pessoal_pessoas_vinculadas_dados_biograficos_elementos_gerais”,未找到任何参数。尝试了1种模式:[“盖世太祖”\/estado\u maior\\/seccao\u pessoal\\/pessoal\/pessoas\u vinculadas\\/dados\u biograficos\\\/(?P[0-9]+)\/geral\\/$”]
申请方式:邮寄
请求URL:http://127.0.0.1:8000/gestao/estado_maior/seccao_pessoal/pessoal/pessoas_vinculadas/dados_biograficos/geral/1/editar/
Django版本:2.0.7
异常类型:NoReverseMatch
异常值:
背面为“estado_maior_seccao_pessoal_pessoal_pessoas_vinculadas_dados_biograficos_elementos_gerais”,未找到任何参数。尝试了1种模式:[“盖世太祖”\/estado\u maior\\/seccao\u pessoal\\/pessoal\/pessoas\u vinculadas\\/dados\u biograficos\\\/(?P[0-9]+)\/geral\\/$”]
异常位置:F:\Work\RTm\u Project\GitLab\Python\gesrhu\venv\lib\site packages\django\url\resolvers.py in\u reverse\u,带\u前缀,第636行
Python可执行文件:F:\Work\RTm\u Project\GitLab\Python\gesrhu\venv\Scripts\Python.exe
Python版本:3.6.6
Python路径:
['F:\\Work\\RTm\u Project\\GitLab\\Python\\gesrhu',
'F:\\Work\\RTm\u Project\\GitLab\\Python\\gesrhu',
'F:\\Work\\RTm\u Project\\GitLab\\Python\\gesrhu\\venv\\Scripts\\python36.zip',
'C:\\Users\\fonse\\AppData\\Local\\Programs\\Python\\Python36-32\\DLLs',
'C:\\Users\\fonse\\AppData\\Local\\Programs\\Python\\Python36-32\\lib',
'C:\\Users\\fonse\\AppData\\Local\\Programs\\Python\\Python36-32',
'F:\\Work\\RTm\u Project\\GitLab\\Python\\gesrhu\\venv',
'F:\\Work\\RTm\u Project\\GitLab\\Python\\gesrhu\\venv\\lib\\site packages',
'F:\\Work\\RTm\u Project\\GitLab\\Python\\gesrhu\\venv\\lib\\site packages\\setuptools-39.1.0-py3.6.egg',
'F:\\Work\\RTm\u Project\\GitLab\\Python\\gesrhu\\venv\\lib\\site packages\\pip-10.0.1-py3.6.egg',
'C:\\Program Files\\JetBrains\\PyCharm'
“2018.1.4\\helpers\\pycharm\u matplotlib\u后端”]
服务器时间:2018年7月16日星期一17:57:09+0100
回溯:
Environment:
Request Method: POST
Request URL: http://127.0.0.1:8000/gestao/estado_maior/seccao_pessoal/pessoal/pessoas_vinculadas/dados_biograficos/geral/1/editar/
Django Version: 2.0.7
Python Version: 3.6.6
Installed Applications:
['django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'modulos.autenticacao',
'modulos.administracao',
'modulos.pessoas.vinculadas',
'modulos.pessoas.naovinculadas',
'modulos.gestao',
'smart_selects',
'crispy_forms',
'django_tables2',
'mptt',
'django_cleanup',
'bootstrap3',
'auditlog']
Installed Middleware:
['django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
'auditlog.middleware.AuditlogMiddleware']
Traceback:
File "F:\Work\RTm_Project\GitLab\Python\gesrhu\venv\lib\site-packages\django\core\handlers\exception.py" in inner
35. response = get_response(request)
File "F:\Work\RTm_Project\GitLab\Python\gesrhu\venv\lib\site-packages\django\core\handlers\base.py" in _get_response
128. response = self.process_exception_by_middleware(e, request)
File "F:\Work\RTm_Project\GitLab\Python\gesrhu\venv\lib\site-packages\django\core\handlers\base.py" in _get_response
126. response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "F:\Work\RTm_Project\GitLab\Python\gesrhu\venv\lib\site-packages\django\contrib\auth\decorators.py" in _wrapped_view
21. return view_func(request, *args, **kwargs)
File "F:\Work\RTm_Project\GitLab\Python\gesrhu\modulos\gestao\views.py" in estado_maior_seccao_pessoal_pessoal_pessoas_vinculadas_dados_biograficos_elementos_gerais_editar
65. return HttpResponseRedirect(reverse("estado_maior_seccao_pessoal_pessoal_pessoas_vinculadas_dados_biograficos_elementos_gerais"))
File "F:\Work\RTm_Project\GitLab\Python\gesrhu\venv\lib\site-packages\django\urls\base.py" in reverse
90. return iri_to_uri(resolver._reverse_with_prefix(view, prefix, *args, **kwargs))
File "F:\Work\RTm_Project\GitLab\Python\gesrhu\venv\lib\site-packages\django\urls\resolvers.py" in _reverse_with_prefix
636. raise NoReverseMatch(msg)
Exception Type: NoReverseMatch at /gestao/estado_maior/seccao_pessoal/pessoal/pessoas_vinculadas/dados_biograficos/geral/1/editar/
Exception Value: Reverse for 'estado_maior_seccao_pessoal_pessoal_pessoas_vinculadas_dados_biograficos_elementos_gerais' with no arguments not found. 1 pattern(s) tried: ['gestao\\/estado_maior\\/seccao_pessoal\\/pessoal\\/pessoas_vinculadas\\/dados_biograficos\\/(?P<pk>[0-9]+)\\/geral\\/$']
环境:
申请方式:邮寄
请求URL:http://127.0.0.1:8000/gestao/estado_maior/seccao_pessoal/pessoal/pessoas_vinculadas/dados_biograficos/geral/1/editar/
Django版本:2.0.7
Python版本:3.6.6
已安装的应用程序:
['django.contrib.admin',
“django.contrib.auth”,
“django.contrib.contenttypes”,
“django.contrib.sessions”,
“django.contrib.messages”,
“django.contrib.staticfiles”,
“autenticacao模”,
“管理模块”,
'模.比索.文丘拉达斯',
“模。比索。纳奥文丘拉达斯”,
“格式塔模”,
“智能选择”,
“脆皮形式”,
“django_表2”,
“mptt”,
“django_清理”,
“bootstrap3”,
“审核日志”]
已安装的中间件:
['django.middleware.security.SecurityMiddleware',
“django.contrib.sessions.middleware.SessionMiddleware”,
'django.middleware.common.CommonMiddleware',
“django.middleware.csrf.CsrfViewMiddleware”,
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.xFrameOptions中间件',
'auditlog.middleware.AuditlogMiddleware']
回溯:
文件“F:\Work\RTm\u Project\GitLab\Python\gesrhu\venv\lib\site packages\django\core\handlers\exception.py”位于内部
35响应=获取响应(请求)
文件“F:\Work\RTm\u Project\GitLab\Python\gesrhu\venv\lib\site packages\django\core\handlers\base.py”位于\u get\u响应中
128response=self.process\u异常\u由\u中间件(e,请求)
文件“F:\Work\RTm\u Project\GitLab\Python\gesrhu\venv\lib\site packages\django\core\handlers\base.py”位于\u get\u响应中
126响应=包装的回调(请求,*回调参数,**回调参数)
视图中的文件“F:\Work\RTm\u Project\GitLab\Python\gesrhu\venv\lib\site packages\django\contrib\auth\decorators.py”
21返回视图功能(请求,*args,**kwargs)
文件“F:\Work\RTm\u Project\GitLab\Python\gesrhu\modulos\gesto\views.py”,位于estado\u maior\u seccao\u pessoal\u pessoas\u vinculadas_