【问题标题】:Using isbntools with web2py将 isbntools 与 web2py 一起使用
【发布时间】:2014-05-01 21:56:34
【问题描述】:

我正在使用 web2py 创建一个页面,在该页面中我根据标题/作者/关键字/等搜索书籍。和 ISBN,我似乎无法弄清楚如何在 webapp 中使用 isbntools。我确定这是我错过的基本内容,但这是我创建的第一个 web 应用程序,它是用于一个类项目的。这是我的控制器的相关部分:

from isbntools import *

def index():
    form=SQLFORM.factory(
     Field('title',label='Try entering a title:'),
     Field('author',label='Or an author:'),
     Field('ISBN',label='Even better if you have the ISBN'),
     Field('fromDate',label='When is the earliest the book might have come out?'),
     Field('toDate',label='...and the latest?'))
    if form.process().accepted:
        titledata = isbn_goom form.vars.title bibtex
        authordata = isbn_goom form.vars.author bibtex
        isbndata = isbn_meta merge form.vars.ISBN bibtex
        print(titledata)
        print(authordata)
        print(isbndata)
    return dict(form=form)

这是我要返回的部分机票信息:

“Bibbly”的错误单 票号

96.255.27.81.2014-05-01.21-50-27.f66e0b53-b5bd-4621-8dbd-b6f30e8a6af1 无效语法(default.py,第 21 行) 版本 web2py™ 版本 2.8.2-stable+timestamp.2013.11.28.13.54.07 Python Python 2.7.5+:/usr/local/bin/uwsgi(前缀:/usr) 追溯

第 21 行 titledata = isbn_goom "form.vars.title" bibtex ^ SyntaxError: 无效语法

【问题讨论】:

    标签: python web2py isbn


    【解决方案1】:

    isbm_goom 是一个命令行脚本。那是你要的吗?! (你不能像那样在你的代码中使用它!)

    我建议您使用最新版本的 isbntools 并修改此片段

    from isbntools.contrib.modules.goom import goom
    from isbntools.dev.fmt import fmtbib
    

    ...

    titledata = goom.query(form.vars.title)
    for r in titledata:
        print((fmtbib('bibtex', r)))
    

    【讨论】:

    • 注意:虽然您可以通过上述方式访问goom,但请注意,目前无法使用官方API访问goom(不存在于命名空间中isbntools, isbntools.dev 甚至不在isbntools.dev.lab)!
    【解决方案2】:

    由于 python 抱怨语法错误,这意味着它与您编写的文字代码有关。 Python 解释器无法理解你的意思,因为你在语言中指定了一些“不可能”的东西。在这种情况下,它是关于isbn_goomform.vars.title 之后的空白。由于我不知道也没有看到任何关于isbn_goom 的声明,我假设它来自isbntools 库。要试用该库,最好在您自己机器上的单独控制台会话中了解它。有关一些示例,请参阅pypi page

    关于解决语法错误:您可以尝试在任何合适的代码编辑器中编辑代码,它会为您提供有关此类错误的提示。任何默认安装附带的默认 python 编辑器 Idle 都会很棒。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-08-20
      • 1970-01-01
      • 2016-06-22
      • 2012-04-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多