标签: pylons

设置对象实例变量的正确方法

我正在编写一个类来将用户插入到数据库中,在我走得太远之前,我只想确保我的OO方法是干净的:

class User(object):

    def setName(self,name):

        #Do sanity checks on name
        self._name = name

    def setPassword(self,password):

        #Check password length > 6 characters
        #Encrypt to md5
        self._password = password

    def commit(self):

        #Commit to database

>>u = User()
>>u.setName('Jason Martinez')
>>u.setPassword('linebreak')
>>u.commit()
Run Code Online (Sandbox Code Playgroud)

这是正确的方法吗?我应该声明类变量吗?我应该在所有类变量前面使用_来使它们变为私有吗?

谢谢你的帮助.

python oop pylons

16
推荐指数
2
解决办法
3万
查看次数

Pylons错误 - 'MySQL服务器已经消失'

[我希望这不是太模糊......如果没有人知道,我会问新闻组]

我正在使用Pylons(一个python框架)来提供一个简单的Web应用程序,但它似乎不时死亡,这在错误日志中: (2006, 'MySQL server has gone away')

我做了一些检查,发现这是因为与MySQL的连接没有被更新.这应该不是问题,因为sqlalchemy.pool_recycle配置文件中的应该自动保持活动状态.默认是3600,但1800由于这个问题,我拨回了它.它有所帮助,但根据文档3600 应该没问题.错误仍然是半定期发生的.我不想降低太多,但DOS我自己的数据库:).

也许我的MySQL配置中的某些东西是傻瓜?不确定在哪里看.

其他相关细节:

  Python 2.5
  Pylons: 0.9.6.2 (w/ sql_alchemy)
  MySQL: 5.0.51
Run Code Online (Sandbox Code Playgroud)

python mysql pylons

14
推荐指数
1
解决办法
3469
查看次数

Pylons企业准备好了吗?

我是一名正在寻找适用于Python的企业级Web应用程序框架的开发人员.我主要关心的是长期支持,广泛的功能集和可靠性.

我一直在试验Pylons,经过我在Windows上使用Ruby on Rails的可怕经验,我甚至不得不编译自己的Postgres驱动程序,Pylons和Python一直是天赐之物.

我相信Python由于非常强大的社区和商业利益,由于可用库的数量和他们为Python 3.0保持一些相似的向后兼容性所做的努力,因此绝对是"企业就绪".我担心的是:

对于Pylons 0.97,我们都能说同样的话吗?

另外,我一直在研究如何让SQLAlchemy在Pylons上使用DB2,以便我可以自动执行基本的CRUD操作.http://code.google.com上的当前DB2驱动程序仅支持SQLAlchemy 0.4.您是否认为IBM致力于使DB2与SQLAlchemy长期合作?或者你们觉得用DB2提供的ODBC驱动程序创建SQLAlchemy接口会更好.与使用IBM的SQLAlchemy驱动程序相比有什么缺点吗?

python pylons sqlalchemy web-applications

14
推荐指数
1
解决办法
3458
查看次数

帮助改进我的文件上传方法(金字塔框架)

目前,我使用以下方法在Pyramid中上传文件(通过HTML表单).

if request.params.get('form.submitted'):

    upload_directory = os.getcwd() + '/myapp/static/uploads/'

    my_file = request.POST.get('thumbnail')
    saved_file = str(upload_directory) + str(my_file.filename)

    perm_file = open(saved_file, 'w')

    shutil.copyfileobj(my_file.file, perm_file)
    my_file.file.close()
    perm_file.close()
Run Code Online (Sandbox Code Playgroud)

我只是想知道,这是保存文件上传的好方法,我的方法有任何安全问题吗?我怎么能改进我的方法.谢谢.

python pylons multipart pyramid

14
推荐指数
1
解决办法
3848
查看次数

sqlalchemy现有数据库查询

我使用SQLAlchemy作为python项目的ORM.我创建了几个模型/架构,它工作正常.现在我需要查询现有的MySQL数据库,不需要插入/更新select语句.

如何围绕此现有数据库的表创建包装器?我简要介绍了sqlalchemy文档和SO,但找不到任何相关内容.所有建议执行方法,我需要编写原始sql查询,而我想使用SQLAlchemy查询方法,就像我使用SA模型一样.

例如,如果现有的db具有表名User,那么我想使用dbsession查询它(只有select操作,可能是使用join)

python pylons sqlalchemy pyramid

14
推荐指数
3
解决办法
1万
查看次数

Pyramid中的模板上下文的等价物(pylons用户)

金字塔中模板上下文的等价物是什么?

金字塔中的IBeforeRender活动是否与此有关?我已经阅读了官方文档,但很难理解IBeforeRender事件究竟是什么.

python pylons pyramid

13
推荐指数
2
解决办法
2591
查看次数

Python nosetests跳过某些测试

我正在研究用python编写的Web应用程序.

假设我的test_login.py模块中有5个测试.

每个测试都是一个类.

通常有一个基本测试扩展TestFlow类,这是我们预定义的测试类.

然后,该模块中的其他测试扩展了该基础测试.

例如 :

#The base test 

TestLogin(TestFlow):
    #do login_test_stuff_here

#Another test in the same module

TestAccountDetails(TestLogin)
    #do account_details_test_stuff_here

...
Run Code Online (Sandbox Code Playgroud)

它实际上非常方便,因为为了测试例如AccountDetails用户必须登录,所以我可以继承TestLogin测试,我准备测试其他功能作为登录用户.

所有测试都在Project/project/tests文件夹中.

我们使用带有选项--with-pylons的nosetests来运行测试.

我的问题是,是否有办法将某些TestClass标记为"不要测试这个".

因为我不想浪费时间直接执行这些"基础测试",因为它们将由其他来自它们的测试执行.

可能会有这些测试的音调,我想在可能的情况下保存每一秒.

我已经找到了像Skip,SkipTest或@nottest这样的东西,但这些只适用于一个ceratin TestClass中的test_methods,所以我认为它不会在这里工作,我是否每个测试用例都有一个类.

python pylons nosetests

13
推荐指数
3
解决办法
6691
查看次数

无法获取pylint以在pylons/SA模型中查找继承的方法

我有一个Pylons应用程序,我正在使用SqlAlchemy声明模型.为了使代码更清晰,我将一个.query添加到SA Base并继承我的所有模型.

所以在我的app.model.meta中我有

Base = declarative_base()
metadata = Base.metadata
Session = scoped_session(sessionmaker())

Base.query = Session.query_property(Query)
Run Code Online (Sandbox Code Playgroud)

我认为将其继承到app.model.mymodel并将其声明为meta.Base的子代.这让我可以把我的查询写成

mymodel.query.filter(mymodel.id == 3).all()
Run Code Online (Sandbox Code Playgroud)

问题是pylint没有看到.query作为我模型的有效属性.

E:102:JobCounter.reset_count: Class 'JobCounter' has no 'query' member
Run Code Online (Sandbox Code Playgroud)

显然,这个错误遍布整个地方,因为它发生在任何进行任何查询的模型上.我不想只是跳过错误,因为它可能会指出非orm类的一些事情,但我必须错过pylint接受这个的东西.

任何提示?

python pylons sqlalchemy pylint

12
推荐指数
1
解决办法
1942
查看次数

运行Pylons控制器作为单独的应用程序?

我有一个Pylons应用程序,我想将一些逻辑移到单独的批处理过程中.我一直在主应用程序下运行它进行测试,但它将在数据库中做很多工作,我希望它是一个独立的进程,将在后台不断运行.主要的pylons应用程序将作业提交到数据库中,新进程将完成每个作业中所请求的工作.

如何将控制器作为独立脚本启动?

我目前有:

from warehouse2.controllers import importServer
importServer.runServer(60)
Run Code Online (Sandbox Code Playgroud)

并在控制器文件中,但不是控制器类的一部分:

def runServer(sleep_secs):
    try:
        imp = ImportserverController()
        while(True):
            imp.runImport()
            sleepFor(sleep_secs)

    except Exception, e:
        log.info("Unexpected error: %s" % sys.exc_info()[0])
        log.info(e)
Run Code Online (Sandbox Code Playgroud)

但是在命令行上启动ImportServer.py会导致:

2008-09-25 12:31:12.687000 Could not locate a bind configured on mapper Mapper|I
mportJob|n_imports, SQL expression or this Session
Run Code Online (Sandbox Code Playgroud)

python pylons

11
推荐指数
2
解决办法
1474
查看次数

Sqlalchemy:纬度和经度浮力精度?

我正在使用Sqlalchemy来定义我的表等等,这里是我提出的一些代码:

locations = Table('locations', Base.metadata,
Column("lat", Float(Precision=64), primary_key=True),
Column("lng", Float(Precision=64), primary_key=True),
)
Run Code Online (Sandbox Code Playgroud)

我在某处读到纬度和经度要求比浮点更精确,通常是双倍精度.所以我手动将精度设置为64,这是否足够?矫枉过正?这对我的情况有帮助吗?

database pylons database-design sqlalchemy geolocation

11
推荐指数
2
解决办法
7197
查看次数