Sqlite3 与 web2py DAL

Sqlite3 Vs web2py DAL

我使用 sqlite DB 已经有一段时间了,但想将我的代码集成到 web2py esp 中。达尔。如何将这样的代码重写为 web2py DAL 代码?

      name = input ('Please Type your Question:  ').lower().split()  
      name2 = name[:]
      import sqlite3
      for item in name2:#break                
         conn = sqlite3.connect("foods.db")
         cursor = conn.cursor()           
         cursor.execute("INSERT INTO INPUT33 (NAME) VALUES (?);", (name2,))      
         cursor.execute("select MAX(rowid) from [input33];")
         conn.commit()      
         for rowid in cursor:break         
         for elem in rowid:
            m = elem            
            print(m)
            cursor.execute("DELETE FROM INPUT33 (NAME) WHERE NAME = name")

我不太明白这个问题,所以我想提前为任何误解道歉。

Web2py 是一个 Web MVC framework,您在设计应用程序时应该遵循该模式。考虑到这一点,使用像 input 这样的控制台相关函数是没有意义的。此外,您不应使用相同的组件来提取用户交互相关数据并处理数据库连接和数据 access/manipulation.

如果您的目的只是将使用 sqlite3 模块的代码片段转换为使用 pyDAL,您只需安装它 pip install pydal 并将代码更改为类似

的代码
#Do your imports
from pydal import DAL, Field

#  connect to your database
db = DAL('sqlite://foods.db')
# define your table model and table fields
db.define_table('input33', Field('NAME'))

# perform an insert into input database
db.input33.insert(name=name2)
# every insert/delete/update needs your to commit to your changes
db.commit() 

可以找到完整的文档here