首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >错误:使用mysite.urls中定义的URLconf,Django-3按以下顺序尝试了这些URL模式:,

错误:使用mysite.urls中定义的URLconf,Django-3按以下顺序尝试了这些URL模式:,
EN

Stack Overflow用户
提问于 2020-04-20 01:00:43
回答 1查看 2.6K关注 0票数 0

我正在做"Django 3 by example“中的教程"Blog”,我得到了错误。我哪里做错了?

错误:找不到页面(404)请求方法:获取请求URL:http://127.0.0.1:8000/blog/和位于/ TemplateDoesNotExist /的alsp博客。使用mysite.urls中定义的URLconf,Django按如下顺序尝试了这些URL模式: admin/当前的URL,blog/,与任何一个都不匹配。

BLOG

ADMIN

mysite/urls.py

代码语言:javascript
复制
from django.contrib import admin
from django.urls import path, include, re_path

urlpatterns = [
    path('admin/', admin.site.urls),
    path('blog/', include('blog.urls', namespace='blog')),
]

mysite/blog/views.py

代码语言:javascript
复制
from django.shortcuts import render, get_list_or_404
from .models import Post


# Create your views here.
def post_list(request):
    posts = Post.published.all()
    return render(request, 'blog/post/list.html', {'post': posts})


def post_detail(request, year, month, day, post):
    post = get_list_or_404(Post, slug=post, status='published', publish__year=year, publish__month=month,
                           publish__day=day)
    return render(request, 'blog/post/detail.html', {'post': post})

mysite/blog/admin.py

代码语言:javascript
复制
from django.contrib import admin
from .models import Post


# Register your models here.
@admin.register(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')

mysite/mysite/urls.py

代码语言:javascript
复制
from django.urls import path, include

from mysite.blog import admin
from . import views

app_name = 'blog'

urlpatterns = [
    # post views

    path('', views.post_list, name='post_list'),
    path('<int:year>/<int:month>/<int:day>/<slug:post>/',
         views.post_detail, name='post_detail'),
]

我的网站/博客/模型

代码语言:javascript
复制
from django.db import models
from django.utils import timezone
from django.contrib.auth.models import User
from django.urls import reverse


# Create your models here.

class PublishedManager(models.Manager):
    def get_queryset(self):
        return super().get_queryset().filter(status='published')


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, on_delete=models.CASCADE,
                               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')
    object = models.Manager()
    published = PublishedManager()

    def get_absolute_url(self):
        return reverse('blog:post_detail', args=[self.publish.year, self.publish.month, self.publish.day, self.slug])

    class Meta:
        ordering = ('-publish',)

    def __str__(self):
        return self.title
EN

回答 1

Stack Overflow用户

发布于 2020-04-20 01:08:47

未找到模板的第一个错误是因为未在settings.py文件中指定其路径。

第二个原因是您没有在mysite/urls.py中指定/路径

如果你想要更多的解释,请随时询问。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61308245

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档