[英]Page not found(404)
我正在做一个可能有详细视图的简单的公司评估应用程序。 而列表视图正常显示,每当我单击以查看其详细信息时,我都会得到页面未找到(404)错误。 它的工作原理是,如果您要单击部门(列表视图),则必须将您带到显示徽标的详细页面,并在该部门下发布。
追溯;
Page not found (404)
Request Method: GET
Request URL: http://127.0.0.1:8000/1//
Using the URLconf defined in Employee.urls, Django tried these URL patterns, in this order:
^admin/
^appraisal/
^ ^$ [name='index']
^ ^(?P<pk>[0-9]+)/$ [name='detail']
^static\/(?P<path>.*)$
^media\/(?P<path>.*)$
The current URL, 1//, didn't match any of these.
我的看法;
from django.views import generic
from .models import Department
class IndexView(generic.ListView):
template_name = "index.html"
context_object_name = "departments"
def get_queryset(self):
return Department.objects.all()
class DetailView(generic.DetailView):
model = Department
template_name = "detail.html"
我的网址;
项目/网址
from django.conf.urls import include, url
from django.contrib import admin
from django.conf import settings
from django.conf.urls.static import static
urlpatterns = [
url(r'^admin/', include(admin.site.urls)),
url(r'^appraisal/', include('Appraisal.urls')),
url(r'^', include('Appraisal.urls')),
]
if settings.DEBUG:
urlpatterns += static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
urlpatterns += static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)
应用/网址;
from django.conf.urls import url
from . import views
app_name = 'Appraisal'
urlpatterns = [
url(r'^$', views.IndexView.as_view(), name='index'),
url(r'^(?P<pk>[0-9]+)/$', views.DetailView.as_view(), name='detail'),
]
我的模特
class Department(models.Model):
Name = models.CharField(max_length=30)
Leader = models.ForeignKey(Employee)
Department_logo = models.FileField()
is_favorite = models.BooleanField(default=False)
def __str__(self):
return '{}'.format(self.Name)
class Post(models.Model):
Title = models.CharField(max_length=30)
Department = models.ForeignKey(Department, on_delete=models.CASCADE)
is_favorite = models.BooleanField(default=False)
def __str__(self):
return '{}'.format(self.Title)
有人帮助我解决了这个问题,我知道这确实是一件很小的事情,导致它无法正常工作。 谢谢!!
您的链接越野车http://127.0.0.1:8000/1//
一个斜杠太多
网址必须正确为http://127.0.0.1:8000/1/
或http://127.0.0.1:8000/
您可能在模板中建立了错误的链接。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.