【问题标题】:Correct URL pattern for django 1.11django 1.11 的正确 URL 模式
【发布时间】:2017-06-21 21:31:17
【问题描述】:

我目前正在运行 django 1.11 版,我想创建一个博客。我正在创建一个基于函数的视图来显示 html 内容。我一直遇到这个错误。

File "/Users/Fanonx/Desktop/xventureblog/src/xventureblog/urls.py", line 21, in <module>
url(r'^admin/', include(admin.site.urls)),
NameError: name 'include' is not defined

这是我的views.py代码

# -*- coding: utf-8 -*-
from __future__ import unicode_literals

from django.http import HttpResponse
from django.shortcuts import render

# Create your views here.


def post_home(request):
    return HttpResponse("<h1>Hello<h1>")

这是我的 urls.py 代码

from django.conf.urls import url
from django.contrib import admin
from posts.views import post_home

urlpatterns = [
    url(r'^admin/', include(admin.site.urls)),
    url(r'^posts/$', post_home),
]

【问题讨论】:

    标签: python django django-views django-urls


    【解决方案1】:

    您没有从django.conf.urls 导入包含,因此您收到了异常(如果您将其分解,这是不言自明的)。您的urls.py 第一行应该是:

    from django.conf.urls import url, include

    【讨论】:

    • 哇非常不言自明。很抱歉,不过我很感激!
    • 但是请注意,在 Django 1.9+ 中,您不需要 include 来作为管理员网址——只需使用 url(r'^admin/', admin.site.urls),
    • 所以说如果我想从应用程序本身(在这种情况下,在帖子应用程序内)而不是主配置文件夹中创建从 urls.py 读取的 url 模式。我从上面尝试了类似的方法,但这似乎没有帮助
    • 请注意,从 Django 2.0 版开始,URL 模式已更改为使用 django.urls.path() 在此处查看示例:link
    猜你喜欢
    • 2020-09-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-04
    • 2015-02-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多