2016-07-02 165 views
0

我正在做这个简单的公司评估应用程序,可能有详细的意见。而列表视图正常显示,每当我点击查看它的细节,我得到的页面找不到(404)错误。它的工作原理在于,如果您要点击某个部门(列表视图),则必须将您带到显示徽标的详细信息页面以及该部门下的帖子。找不到页面(404)

traceback;

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'), 
] 

my models;

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) 

有人帮助我解决这个问题,我知道这是真的已经得到了这个工作不小的事。 谢谢!!

+0

您尝试访问的网址末尾有两个斜线;那将不符合该模式。我们无法看到他们如何在没有看到包含链接的模板的情况下到达那里。 –

回答

0

你的链接是越野车http://127.0.0.1:8000/1//一个斜杠结束

太多它应该是http://127.0.0.1:8000/1/http://127.0.0.1:8000/对于网址正确匹配

你可能在模板错误链接建设。