0
下午好: 我看到Django的這個錯誤,當我嘗試更新「Usuario」:錯誤頁面沒有找到(404)請求方法:t GET在Django
Page not found (404)
Request Method: GET
Request URL: http://127.0.0.1:8000/usuarios/modificar/
Using the URLconf defined in COMBOOK.urls, Django tried these URL patterns in this order:
^ ^$ [name='login']
^ ^cerrar/$ [name='logout']
^ ^registrarse/$ [name='registrarse']
^autor/
^libros/
^usuarios/ ^registrar/$ [name='registrar_usuario']
^usuarios/ ^reportar/$ [name='reportar_usuario']
^usuarios/ ^modificar/(?P<email>\d+)/$ [name='modificar-usuario']
^tipos_usuario/
^admin/
^media/(?P<path>.*)$
The current URL, usuarios/modificar/, didn't match any of these.
這個文件是models.py
from django.db import models
from apps.tipos_usuario.models import Tipo_Usuario
class Usuario(models.Model):
email = models.CharField(max_length = 80, verbose_name = 'Email', unique = True)
contrasena = models.CharField(max_length = 50, verbose_name = 'Contrasena')
nombres = models.CharField(max_length = 80, verbose_name = 'Nombres')
apellidos = models.CharField(max_length = 80, verbose_name = 'Apellidos')
opciones_genero = (
('F', 'F',),
('M', 'M',),
)
genero = models.CharField(max_length = 1, choices = opciones_genero)
fecha_nacimiento = models.DateField(blank=True, null=True, verbose_name="Fecha de Nacimiento")
tipo_usuario = models.ForeignKey(Tipo_Usuario, verbose_name = 'Tipo Usuario')
def _unicode_(self):
return self.email
def get_email(self):
return self.email
這一個是urls.py
from django.conf.urls import patterns, include, url
from .views import RegistrarUsuario, ReportarUsuario, ModificarUsuario
urlpatterns = patterns('',
url(r'^registrar/$' , RegistrarUsuario.as_view() , name="registrar_usuario"),
url(r'^reportar/$' , ReportarUsuario.as_view() , name="reportar_usuario"),
url(r'^modificar/(?P<email>\d+)/$', ModificarUsuario.as_view(),name='modificar-usuario'),
)
這一個是views.py
from django.views.generic import CreateView,TemplateView,ListView, UpdateView
from braces.views import LoginRequiredMixin # handles authentication
from .models import Usuario
from apps.usuarios.models import Usuario
from apps.tipos_usuario.models import Tipo_Usuario
from django.core.urlresolvers import reverse_lazy
from django.shortcuts import render_to_response
from django.template import RequestContext
from django.core.paginator import Paginator
from django.core.paginator import EmptyPage
from django.core.paginator import PageNotAnInteger
class RegistrarUsuario(CreateView):
template_name = 'usuarios/registrarUsuario.html'
model = Usuario
success_url = reverse_lazy('reportar_usuario')
class ReportarUsuario(ListView):
template_name = 'usuarios/reportarUsuarios.html'
model = Usuario
context_object_name = 'usuarios'
paginate_by = 2
class ModificarUsuario(LoginRequiredMixin, UpdateView):
template_name = 'usuarios/modificarUsuario.html'
model = Usuario
success_url = reverse_lazy('modificar-usuario')
def get_object(self):
return Usuario.objects.get(email=self.request.GET.get('email'))
這一個是modificarUsuario.html
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Modificar Usuario</title>
<link rel="stylesheet" href="{{STATIC_URL}}css/style.css">
</head>
<body>
<h1>Modificar Usuario</h1>
<ul>
{% for usuario in usuarios %}
<li class="contact">{{ usuario }}
(<a href="{% url "modificar-usuario" pk=email %}">Editar</a>)
</li>
{% endfor %}
</ul>
</body>
</html>
,我有一個文件名爲「base.html文件」裏我嘗試調用的HTML文件「modificarUsuario.html」一個選項裏面的一類= nav:
<li><a href="/usuarios/modificar/">Modificar Usuario</a></li>
有人能解釋我怎麼解決這個問題?