Django 错误遵循教程 b/c 使用 3.1 而不是 1.9 TypeError:在 include() 的情况下,视图必须是可调用的或列表/元组 [重复]

Posted

技术标签:

【中文标题】Django 错误遵循教程 b/c 使用 3.1 而不是 1.9 TypeError:在 include() 的情况下,视图必须是可调用的或列表/元组 [重复]【英文标题】:Django Error Following Tutorial b/c using 3.1 not 1.9 TypeError: view must be a callable or a list/tuple in the case of include() [duplicate] 【发布时间】:2021-05-14 10:55:20 【问题描述】:

我知道问题出在哪里,在我的代码中我无法使用字符串将我的视图映射到 url,但我不确定如何重写它以使其正常工作。

网址。 py

from django.contrib import admin
from django.urls import path

urlpatterns = [
    path('admin/', admin.site.urls),
    path('posts/', "posts.views.post_home"),  ## *how do i rewrite this section*
]

apps.py

from django.apps import AppConfig


class PostsConfig(AppConfig):
    name = 'posts'

views.py

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

# Create your views here.


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

【问题讨论】:

【参考方案1】:

尝试使用这个:-

from *your_app_name* import views

path('posts/', views.post_home,name='post_name'), 

问题出在哪里

您使用旧方法在 urls.py 中传递 url

path('posts/', "posts.views.post_home"),

您无需在Newer Versions of Django 的引号之间添加views.post_home

【讨论】:

谢谢!!这就是我刚刚尝试过的,但现在它只是说未定义名称“视图”。我需要先导入它还是什么?对不起,我对这个大声笑是全新的,这对我来说就像第 2 天 是的,我已经更新了答案 天哪,我爱你,非常感谢你!!!!!!!!!!!!!!!!

以上是关于Django 错误遵循教程 b/c 使用 3.1 而不是 1.9 TypeError:在 include() 的情况下,视图必须是可调用的或列表/元组 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

使用南(django)和 MySQL 进行模式迁移

遵循 iOS Swift 教程但收到错误

Django 项目:命名空间“管理员”不是唯一的

当我尝试通过 https 登录到 Django 管理员时,python 服务器已关闭且没有任何错误

遵循 Grails Spring Security Core 教程时出现“没有正在进行的事务”错误

Django 教程第 3 部分 - 代码说明