Python导入有效,但是使用导入项失败。使用Django,但这似乎是Python的新手问题

敏锐的

我正在阅读Django教程

我有这个档案

R:\jeffy\programming\sandbox\python\django_files\tutorial\django_test\...
...django_test\article\views.py

内容:

from django.http import HttpResponse

# Create your views here.

def hello(request):
    name = "Mike"
    html = "<html><body>Hi %s, this seems to have worked</body></html>" % name
    return  HttpResponse(html)

和这个文件:

R:\jeffy\programming\sandbox\python\django_files\tutorial\django_test\...
...django_test\urls.py

内容:

from django.conf.urls import patterns, include, url
from django.contrib import admin
from article.views import hello

urlpatterns = patterns('',
#    url(r'^hello/', include(article.views.hello)),
    url(r'^admin/', include(admin.site.urls)),
)

我启动Django服务器

python manage.py runserver

http://127.0.0.1:8000

它的工作原理是:

根本成功

像这样

http://127.0.0.1:8000/admin

在此处输入图片说明

但是,当我取消注释“ hello”行时,它将失败:

from django.conf.urls import patterns, include, url
from django.contrib import admin
from article.views import hello

urlpatterns = patterns('',
    url(r'^hello/', include(article.views.hello)), # <--Problem line
    url(r'^admin/', include(admin.site.urls)),
)

在此处输入图片说明

错误说

R:\\jeffy\\programming\\sandbox\\python\\django_files\\tutorial\\django_test

在PYTHONPATH中,“ article”文件夹在该目录中

同样,为什么该import article行不会导致错误,但是调用该hello函数却失败了。


请帮我。我想念什么?


更新

完全没有导入会以相同的方式(NameError at / name 'article' is not defined失败

from django.conf.urls import patterns, include, url
from django.contrib import admin

urlpatterns = patterns('',
    url(r'^hello/', include(article.views.hello)),   # <-- Problem line
    url(r'^admin/', include(admin.site.urls)),
)

import article使用会导致此错误:AttributeError at / 'module' object has no attribute 'views'

from django.conf.urls import patterns, include, url
from django.contrib import admin
import article

urlpatterns = patterns('',
    url(r'^hello/', include(article.views.hello)),   # <-- Problem line
    url(r'^admin/', include(admin.site.urls)),
)

Eliminating the import and putting the call in strings (as suggested), results in an ImportError at / No module named 'article.views.hello'; 'article.views' is not a package:

from django.conf.urls import patterns, include, url
from django.contrib import admin

urlpatterns = patterns('',
    url(r'^hello/', include(article.views.hello)),   # <-- Problem line
    url(r'^admin/', include(admin.site.urls)),
)

And, finally, importing the hello function directly:

from django.conf.urls import patterns, include, url
from django.contrib import admin
from article.views import hello

urlpatterns = patterns('',
    url(r'^hello/', include(hello)),
    url(r'^admin/', include(admin.site.urls)),
)

With this, calling http://127.0.0.1:8000 fails but in an expected way:

在此处输入图片说明

But then, http://127.0.0.1:8000/hello fails with this:

在此处输入图片说明

erewok

There's a few things that are wrong here.

1) You are importing something you are not using:

from article.views import hello

    ...

    url(r'^hello/', include(article.views.hello)),

You import hello and then call it from the module article, but article has not been imported and so will be undefined. You can either import article or you can call hello directly.

2) include is not necessary here.

我们通常include用于包括其他urls.py模式。hello是一个功能。url-routing在Django中的工作方式是定义一条路由并将其传递给一个函数,如下所示:

from article.views import hello

urlpatterns = patterns('',

    url(r'^hello/', hello),
    url(r'^admin/', include(admin.site.urls)),
)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

mysql.connector不使用python命令插入,但是手动查询有效

类强制转换异常,这似乎是一个有效的语句

链导入在Python 2中有效,但在Python 3中失败

Intelij IDEA导入类出现问题,“找不到引用”,但代码仍然有效-Python

我是使用ArrayLists的新手。数组越界,数组似乎是空的,但是已经在其中添加了字符串

Node.js SQL Server代码似乎是错误的,但是仍然有效吗?

cURL查询有效,但是python-request失败

Django ImportError有效导入

在Python中导入图像的有效方法

在python中从视频导入大量图像的有效方法

使用单独的python函数导入依赖项

Python分析,导入(尤其是__init__)似乎是花费最多的时间

为什么这无效,但是在本地有效?— Codeforce中的国王种族问题

在Python中使用导入

使用as导入Python

在目录下列出所有有效/可导入的Python文件

使用Python.Net导入具有依赖项的.NET Standard 2.0类库

使用python使用FPDF导入字体时出现问题

Python导入:使用缩写的导入名称

python只是导入失败,但可与from一起使用

Python:当我不导入命令时,为什么此命令有效

导入skimage不是有效的Win32应用程序python3

如何在运行时检查python模块是否有效而不导入?

如何有效地将同一模块导入python中的多个子包

新手Python问题,数组索引问题

琐碎的python导入失败

Python 导入失败

导入Python失败

Python Dropbox导入失败

TOP 榜单

  1. 1

    来自Microsoft Office加载项taskpane.js的MySQL驱动程序模块的空引用

  2. 2

    使用AWS Cognito和React的仅限Facebook / Google的登录名(无用户名/密码)

  3. 3

    创建Windows Phone 8应用并将其连接到数据库的最佳方法(最好是SQL Server)

  4. 4

    为什么Java中的System.out.println()打印到控制台?

  5. 5

    卷曲函数无法解析来自bash中变量的代理

  6. 6

    是什么在Android的consumer-rules.pro和proguard-rules.pro之间的区别?

  7. 7

    设置与Apache POI Excel表散点图标记图标的颜色

  8. 8

    将Qt Pyside2与asyncio await语法一起使用?

  9. 9

    崇高的文字+蟒蛇的蟒蛇

  10. 10

    任务':app:minifyReleaseWithR8'.java.lang.NullPointerException的执行失败(无错误消息)

  11. 11

    OpenJDK的和AdoptOpenJDK的区别

  12. 12

    大型数据集缓存到Spark内存中时,“超出了GC开销限制”(通过sparklyr和RStudio)

  13. 13

    “执行测试CMAKE_HAVE_LIBC_PTHREAD”失败实际上是什么意思?

  14. 14

    使用Core 2.2中的Identity,如何在关闭浏览器15分钟后保持会话活动?

  15. 15

    React中的ForwardRefExoticComponent和ForwardRefRenderFunction有什么区别?

  16. 16

    猫鼬查找结果,然后将字段替换为findOne

  17. 17

    如何降级Google Colab的Torch版本

  18. 18

    Keras提前停止回调错误,val_loss指标不可用

  19. 19

    如何避免VSCode中的“导入路径不能以.ts扩展名结尾”错误?

  20. 20

    Nuxt.JS:如何在页面中获取路由URL参数

  21. 21

    是否有为什么会AccessibilityManager.sInstance导致内存泄漏的一个原因?

热门标签

归档