繁体   English   中英

pydoc 文档应该自动创建文件吗?

[英]Should pydoc document automatically created file?

我试图了解pydoc工作原理,并希望让它显示文件的文档字符串。

我有一个未更改的文件urls.py (使用 Django 创建,但这似乎与我的pydoc问题无关):

"""box_whiskers_demo URL Configuration

The `urlpatterns` list routes URLs to views. For more information please see:
    https://docs.djangoproject.com/en/3.1/topics/http/urls/
Examples:
Function views
    1. Add an import:  from my_app import views
    2. Add a URL to urlpatterns:  path('', views.home, name='home')
Class-based views
    1. Add an import:  from other_app.views import Home
    2. Add a URL to urlpatterns:  path('', Home.as_view(), name='home')
Including another URLconf
    1. Import the include() function: from django.urls import include, path
    2. Add a URL to urlpatterns:  path('blog/', include('blog.urls'))
"""
from django.contrib import admin
from django.urls import path

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

但是在python提示符下发出以下命令

import urls

给我错误消息django.core.exceptions.ImproperlyConfigured: Requested setting INSTALLED_APPS, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings. django.core.exceptions.ImproperlyConfigured: Requested setting INSTALLED_APPS, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings. . 我所期望的是,同样,命令

from urls import urlpatterns

给了我完全相同的错误信息。

我想我可以让 Python 读取文件,然后访问文档字符串,就像我可以的那样

import pydoc
help(pydoc)

后者输出有意义的、无错误的文档。 知道文件urls.py不是模块,我读了

如果 pydoc 的参数看起来像一个路径(也就是说,它包含操作系统的路径分隔符,例如 Unix 中的斜杠),并且引用了现有的 Python 源文件,则为该文件生成文档。

pydoc 文档中,“那个文件”有一个很好的多行文档字符串。

错误是否意味着“那个文件”既不是

函数、模块或包的名称

还是错误源自其他地方? 我应该期待 docstring 作为这些pydoc调用中的任何一个的输出吗?

我想我设法确定了这个问题:当 Python 寻找admin包但没有找到时,问题就开始了。 因此,注释掉调用admin.的语句admin. , 使用

urlpatterns = [
#    path('admin/', admin.site.urls),
]

我来自bash电话

pydoc urls

给了我漂亮的文档字符串:

Help on module urls:

NAME
    urls - box_whiskers_demo URL Configuration

DESCRIPTION
    The `urlpatterns` list routes URLs to views. For more information please see:
        https://docs.djangoproject.com/en/3.1/topics/http/urls/
    Examples:
    Function views
        1. Add an import:  from my_app import views
        2. Add a URL to urlpatterns:  path('', views.home, name='home')
    Class-based views
        1. Add an import:  from other_app.views import Home
        2. Add a URL to urlpatterns:  path('', Home.as_view(), name='home')
    Including another URLconf
        1. Import the include() function: from django.urls import include, path
        2. Add a URL to urlpatterns:  path('blog/', include('blog.urls'))

DATA
    path = functools.partial(<function _path at 0x7f3c9b88d...ern=<class '...
    urlpatterns = []

FILE
    /home/morten/Dropbox/Python/django/box_whiskers_demo/box_whiskers_demo/urls.py

(END)

注意,我从 python 命令中获得了完全相同的输出,并且具有以下序列:

import urls
help(urls)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM