Im做我的第一个Django的网站我通过几个教程将会运行到我想不通的是什么问题,因为它们是简单的页面请求的一些错误后,通过困惑Django的404。简单的网页
我试图让一个类别详细视图例如127.0.0.1:8000/news和香港专业教育学院遵循相同的设置其他页面,如指数和细节后已经工作得很好,但是这是给404
这里有我的文件
models.py
from django.db import models
from django.core.urlresolvers import reverse
class EntryQuerySet(models.QuerySet):
def published(self):
return self.filter(publish=True)
class Blog(models.Model):
title = models.CharField(max_length = 200)
slug = models.SlugField(max_length = 100, db_index = True)
body = models.TextField()
publish = models.BooleanField(default=True)
created = models.DateTimeField(auto_now_add=True)
category = models.ForeignKey('blog.category')
objects = EntryQuerySet.as_manager()
def __str__(self):
return self.title
def get_absolute_url(self):
return reverse('post_detail', kwargs={'slug':self.slug})
class Meta:
verbose_name = 'Blog entry'
verbose_name_plural = 'Blog entries'
ordering = ['-created']
class Category(models.Model):
cat_title = models.CharField(max_length = 200, db_index = True)
cat_slug = models.SlugField(max_length = 100, db_index = True)
def __str__(self):
return self.cat_title
def get_absolute_url(self):
return reverse('category_detail', kwargs={'cat_slug':self.cat_slug})
class Meta:
verbose_name = 'Category'
verbose_name_plural = 'Categories'
意见的.py
from django.views import generic
from . import models
class index_view(generic.ListView):
queryset = models.Blog.objects.published()
template_name = 'index.html'
class post_view(generic.DetailView):
model = models.Blog
template_name = 'post_view.html'
class category_view(generic.ListView):
model = models.Category
template_name = 'category_view.html'
class category_detail_view(generic.DetailView):
model = models.Category
template_name = 'category_detail_view.html'
class About_page(generic.DetailView):
template_name = 'about.html'
应用urls.py
from django.conf.urls import url
from django.contrib import admin
from . import views
urlpatterns = [
url(r'^$', views.index_view.as_view(), name='index'),
url(r'^categories/$', views.category_view.as_view(), name='category_detail'),
url(r'^(?P<slug>\S+)$', views.post_view.as_view(), name='post_detail'),
url(r'^(?P<cat_slug>\S+)$', views.category_detail_view.as_view(), name='category_detail_view'),
url(r'^about/$', views.About_page.as_view(), name='about'),
这是类别详细信息页“category_d etail_view.html”
{% extends 'base.html' %}
{% block title %} The category detail view page {% endblock %}
{% block category_detail %}
{% for cat_title in object_list %}
<ul>
<li>{{ category.cat_title }}</li>
{% endfor %}
</ul>
{% endblock %}
和关于页面
{% extends 'base.html' %}
<h2>This is the about page</h2>
这些页面的返回该错误消息
找不到网页(404) 请求方法:GET 请求URL:http://127.0.0.1:8000/about/ 提出者:blog.views.post_view 没有博客条目中找到匹配查询
我不明白为什么'blog.post_view'被引发时,这些模板都没有引用post_view。
我有上市发布的所有职位,其中列出所有类别和职位详细信息页面所有这些做工精细,并几乎完全一样,这些意见和模板类别页面的索引页。
你可以给你的项目pls的urls.py? – Gaetan