无法在我的webpy博客中创建类别,使用错误的默认值,使用浏览器方向栏输入,如alias

2024-09-23 00:21:41 发布

您现在位置:Python中文网/ 问答频道 /正文

我正试图用webpy在我自己开发的博客中进行分类 我试着做:

mywebpage.com/c/categorieName

是显示分类的输入(比如别名?¿?) 你知道吗

 urls = (   
    '/c/(.*)','index'
)

那么索引类是:

class index(object):
    def GET(self,cat):
        seleccion = functions.categoria(db,cat)
        #seleccion = db.select('contenido',what="*",order="modificado DESC")
        #print seleccion
        return render.index(seleccion.getThread(),cat)

我有一个.py文档,其中包含一些帮助功能:

class categoria(object):
    def __init__(self,datab,nombre='frutas'):
        '''
        Selecciona y asigna una lista o diccionario
        con el contenido de la base de datos dispuesto en
        objetos de la clase noticias.
        '''
        self.datab = datab #objeto database
        self.nombre = nombre #cadena con el nombre de la categoria
        self.n = self.getCat() #calculo del numero de la categoria PROBLEMAS
        self.thread = self.getThread()       


    def getCat(self):
        ''' returns the categorie number stored in the database
        '''
        a = self.datab.select('categorias',where='catName = $nombre', vars=dict(nombre=self.nombre))
        return a[0].catId

    def getThread(self):
        myvars = dict(numero= '%'+str(self.n)+'%' )
        d = self.datab.query("SELECT * FROM contenido WHERE category LIKE $numero", vars= myvars)
        #what="contentTitle,content,'update'",
        return d

    # db.query("SELECT * FROM foo WHERE x = $x", vars=dict(x='f'), _test=False)

    def __str__(self):
        'some more code, doesn't matter'

我已经正确配置了mysql数据库,并且包含示例内容。 我尝试在功能中运行它,但我得到的最佳结果是为variablecat设置一个默认值,该值不允许我使用browsers direction功能更改视图中的类别。你知道吗

非常感谢。你知道吗


Tags: self功能dbindexreturndefdela
1条回答
网友
1楼 · 发布于 2024-09-23 00:21:41

也许问题出在seleccion.getThread调用的结果上。你知道吗

在webpy中db.query返回web.iterbetter,您只能迭代一次。您可以尝试返回d.list()而不是d,它将web.iterbetter转换为list。你知道吗

UPD:也许我不明白你的问题,所以这是另一个尝试:

'/c/(.*)','index'映射意味着category可以为空,因此您可以在GET函数中设置如下默认值:def GET(self,cat=None):或者将映射更改为'/c/(.+)','index',这样它就不会使用'/c/'请求路径。你知道吗

相关问题 更多 >