错误:Django使用mysite.URL中定义的URLconf尝试了这些URL模式
我正在做“Django by example”中的“Blog”教程,我发现了一个错误。很好。我做错了什么 错误: 找不到页面(404) 请求方法:获取 请求URL: Django使用mysite.URL中定义的URLconf,按以下顺序尝试了这些URL模式: ^管理员/ 当前URL post/与这些URL中的任何一个都不匹配 mysite/blog/url.py错误:Django使用mysite.URL中定义的URLconf尝试了这些URL模式,django,Django,我正在做“Django by example”中的“Blog”教程,我发现了一个错误。很好。我做错了什么 错误: 找不到页面(404) 请求方法:获取 请求URL: Django使用mysite.URL中定义的URLconf,按以下顺序尝试了这些URL模式: ^管理员/ 当前URL post/与这些URL中的任何一个都不匹配 mysite/blog/url.py from django.conf.urls import url from . import views urlpatterns =
from django.conf.urls import url
from . import views
urlpatterns = {
# post views
url(r'^$', views.post_list, name='post_list'),
url(r'^(?P<year>\d{4})/(?P<month>\d{2})/(?P<day>\d{2})/'\
r'(?P<post>[-\w]+)/$',
views.post_detail,
name='post_detail'),
}
mysite/blog/admin.py
from django.contrib import admin
from .models import Post
class PostAdmin(admin.ModelAdmin):
list_display = ('title', 'slug', 'author', 'publish', 'status')
list_filter = ('status', 'created', 'publish', 'author')
search_fields = ('title', 'body')
prepopulated_fields = {'slug': ('title',)}
raw_id_fields = ('author',)
date_hierarchy = 'publish'
ordering = ['status', 'publish']
admin.site.register(Post, PostAdmin)
mysite/mysite/url.py
from django.conf.urls import include, url
from django.contrib import admin
urlpatterns = [
url(r'^admin/', include(admin.site.urls)),
url(r'^blog/', include('blog.urls',
namespace='blog',
app_name='blog')),
]
mysite/blog/models
from django.db import models
from django.utils import timezone
from django.contrib.auth.models import User
from django.core.urlresolvers import reverse
class Post(models.Model):
STATUS_CHOICES = {
('draft', 'Draft'),
('published', 'Published'),
}
title = models.CharField(max_length=250)
slug = models.SlugField(max_length=250,
unique_for_date='publish')
author = models.ForeignKey(User,
related_name='blog_posts')
body = models.TextField()
publish = models.DateTimeField(default=timezone.now)
created = models.DateTimeField(auto_now_add=True)
updated = models.DateTimeField(auto_now=True)
status = models.CharField(max_length=10,
choices=STATUS_CHOICES,
default='draft')
def get_absolute_url(self):
return reverse('blog:post_detail',
args=[self.publish.year,
self.publish.strftime('%m'),
self.publish.strftime('%d'),
self.slug])
class Meta:
ordering =('-publish',)
def __str__(self):
return self.title
该错误意味着您没有在
url.py
中定义/post/
url
您应该将URL更改为:
urlpatterns = {
# post views
url(r'^post/$', views.post_list, name='post_list'),
...
}
或者,访问/blog/
上的帖子列表
我认为第一个版本会是一个更好的选择
希望有帮助 您正在使用以下内容包括博客URL:
url(r'^blog/', include('blog.urls',
namespace='blog',
app_name='blog')),
因此,您应该转到http://127.0.0.1:8000/blog/
,而不是http://127.0.0.1:8000/post/
查看您的post\u列表
视图
请注意,您应该在博客URL中使用列表而不是集合。将花括号替换为方括号
urlpatterns = [
...
]
我尝试了第一个版本,但它不起作用,仍然有错误。“访问/blog/上的帖子列表”是什么意思?@Greg我的意思是你应该使用``而不是``仍然不起作用,也许这是模型中的某个东西,并获取绝对url?我是初学者,所以我可能会犯一些错误
urlpatterns = [
...
]