小编Mad*_*war的帖子

使用金字塔的金字塔身份验证

在金字塔文档中,Sqlalchemy Dispatch Tutorial使用虚拟数据security.py.我需要使用mysql数据,所以我实现了这样:

我的登录代码

@view_config(route_name='login', renderer='json',permission='view')
def user_login(request):
    session = DBSession
    username = request.params['username']
    password = request.params['password']
    sha = hashlib.md5()
    sha.update(password)
    password = sha.digest().encode('hex')
    user = session.query(Users).filter(and_(Users.username==username,Users.password ==password)).count()   
    if(user != 0):
        headers = remember(request, username)
        return HTTPFound(location = '/index/',
                             headers =headers)
    else:
        print "error"
Run Code Online (Sandbox Code Playgroud)

以上使系统记住将使用的用户名security.py.下面,我使用它来获取用户所在的组.

from .models import (
    DBSession,
    Users,
    )

def groupfinder(userid, request): 
    session = DBSession()
    for instance in session.query(Users).filter(Users.username==userid):
        group = 'group:'+instance.group  
        lsth = {'userid':[group]}
        return lsth.get  ('userid')   
Run Code Online (Sandbox Code Playgroud)

这是使用金字塔授权的最佳方式吗?

python authorization pyramid

10
推荐指数
1
解决办法
2056
查看次数

插件中的Google Chrome"onLaunched"错误

我正在关注http://developer.chrome.com/trunk/apps/first_app.html上的Google Chrome网络应用开发,并且网络应用未启动.当我点击页面上的应用程序图标时,它会关闭标签页.我已经从github下载了示例应用程序和插件,但是当我看到控制台时它们也没有工作我得到了这个错误,请不要在chrome:// flags中启用实验API.

Uncaught TypeError: Cannot read property 'onLaunched' of undefined 
Run Code Online (Sandbox Code Playgroud)

我已将Chrome浏览器更新为22.0.1229.79版.我的manifest.json文件是

{
"name": "Hello World!",
"description": "My first packaged app.",
"manifest_version": 2,

"version": "0.1",
"app": {
    "background": {
        "scripts": ["background.js"]
    }
},
"icons": {
    "16": "calculator-16.png", 
    "128": "calculator-128.png"
}
Run Code Online (Sandbox Code Playgroud)

}

还有我的background.js文件

   chrome.app.runtime.onLaunched.addListener(function() {
    chrome.app.window.create('window.html', {
        'width': 400,
        'height': 500
    });
});
Run Code Online (Sandbox Code Playgroud)

有人能指出我哪里出错了吗?

google-chrome google-chrome-extension google-chrome-app

6
推荐指数
2
解决办法
2753
查看次数

金字塔烧杯访问已创建的会话

我试图在金字塔框架中使用金字塔烧杯,它只是不工作它创建会话对象但我不能用线访问它们

@view_config(route_name='load_qli', renderer='json')
def load_qli(request):
    request.environ['beaker.session']
Run Code Online (Sandbox Code Playgroud)

它给出以下错误

KeyError

KeyError: 'beaker.session'
Run Code Online (Sandbox Code Playgroud)

我的development.ini文件看起来像这样

# pyramid_beaker settings
session.type = file
session.data_dir = %(here)s/data/sessions/data
session.lock_dir = %(here)s/data/sessions/lock
session.key = customerskey
session.secret = customerssecret
session.cookie_on_exception = true
Run Code Online (Sandbox Code Playgroud)

和init.py这样

from pyramid.config import Configurator
from sqlalchemy import engine_from_config
from qlipe.models import DBSession
from pyramid_mailer import mailer_factory_from_settings
from pyramid_beaker import session_factory_from_settings


def main(global_config, **settings):
    """ This function returns a Pyramid WSGI application.
    """
    engine = engine_from_config(settings, 'sqlalchemy.')
    DBSession.configure(bind=engine)


    # pyramid_beaker add-on
    session_factory = session_factory_from_settings(settings)   

    config = Configurator(
        settings=settings, …
Run Code Online (Sandbox Code Playgroud)

python session beaker pyramid

4
推荐指数
1
解决办法
2825
查看次数

Sqlalchemy 在多个表上使用带有外连接的 func

我在 sqlalchemy 中有以下表格:-

class Post(Base):
    __tablename__ = 'posts'
    id = Column(Integer, primary_key=True)
    compare_url =Column(String(200))
    url = Column(String(200))
    postedby = Column(Integer)
    category = Column(String(50))
    title  = Column(String(500),nullable=False)
    author  = Column(String(500),default="Unspecified")
    content = Column(Text(),default="could not fetch this content you will have to read it externally")
    summary = Column(Text())
    time = Column(TIMESTAMP(),default=now())
    post_type=Column(Text())
    Reads = relationship("Read", backref="Post")
    Reposts = relationship("RePost", backref="Post")
    Votes = relationship("Vote", backref="Post")



class Read(Base):
    __tablename__ = 'reads'
    id = Column(Integer, primary_key=True)
    post_read = Column(Integer, ForeignKey('posts.id'))
    #post = relationship("Post", backref=backref('Reads', order_by=id)) …
Run Code Online (Sandbox Code Playgroud)

python sql sqlalchemy pyramid

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

在Pyramid Framework中使用Mysql和SqlAlchemy

Pyramid Framework附带了一个使用sqlite的sql炼金术示例教程.问题是我想使用mysql所以我改变了这个

sqlalchemy.url = sqlite:///%(here)s/tutorial.db
Run Code Online (Sandbox Code Playgroud)

进入这个

sqlalchemy.url = mysql://root:22password@localhost/alchemy
Run Code Online (Sandbox Code Playgroud)

当我试图跑

../bin/pserve development.ini --reload
Run Code Online (Sandbox Code Playgroud)

它给了我以下错误

 File "build/bdist.linux-i686/egg/sqlalchemy/connectors/mysqldb.py", line 52, in dbapi
ImportError: No module named MySQLdb
Run Code Online (Sandbox Code Playgroud)

我知道我应该在setup.py中包含我的应用程序的dependecies但是我不知道现在要包括哪些帮助请我的setup.py看起来像这样

import os
import sys

from setuptools import setup, find_packages

here = os.path.abspath(os.path.dirname(__file__))
README = open(os.path.join(here, 'README.txt')).read()
CHANGES = open(os.path.join(here, 'CHANGES.txt')).read()

requires = [
    'pyramid',
    'SQLAlchemy',
    'transaction',
    'pyramid_tm',
    'pyramid_debugtoolbar',
    'zope.sqlalchemy',
    ]

if sys.version_info[:3] < (2,5,0):
    requires.append('pysqlite')

setup(name='tutorial',
      version='0.0',
      description='tutorial',
      long_description=README + '\n\n' +  CHANGES,
      classifiers=[
        "Programming Language :: Python",
        "Framework :: Pylons",
        "Topic :: Internet …
Run Code Online (Sandbox Code Playgroud)

python mysql sqlalchemy pyramid

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

变色龙ZPT模板

我创建了一个.pt模板,其中包含以下代码段

<span class="help-block">
   ${password_confirm}
</span>
Run Code Online (Sandbox Code Playgroud)

我的问题是,password_confirm字段并不总是由金字塔框架呈现,因此它显示下面的错误

chameleon.utils.NameError

NameError: password_confirm
Run Code Online (Sandbox Code Playgroud)

我理解我想使用tal:条件,但我尝试的一切都失败了.有人可以帮助我,我想如何去做一些不会总是在模板中呈现的变量.

python templates pyramid chameleon

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

从python中的字符串中剥离@标签

我试图使用正则表达式从python中的字符串中删除@tags但是当我尝试这样做时

str = ' you @warui  and @madawar '
h = re.search('@\w*',str,re.M|re.I)
print h.group()
Run Code Online (Sandbox Code Playgroud)

它仅输出第一个@tag.

@warui
Run Code Online (Sandbox Code Playgroud)

当我在http://regexr.com?304a6上尝试它时,它的工作原理

python regex

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

PDF.js示例不会在localhost上运行

我试图在localhost上运行pdf.js示例,并在下载后我做了

 make server
Run Code Online (Sandbox Code Playgroud)

但是,当我试图运行与下载捆绑的示例时,我收到了此错误

missing variable name
var in = i * n;
http://localhost/pdf.js/src/function.js
Line 174
Run Code Online (Sandbox Code Playgroud)

已成功获取PDF文件

GET http://localhost/pdf.js/examples/helloworld/helloworld.pdf 200 OK 210ms
Run Code Online (Sandbox Code Playgroud)

我有什么遗漏作为要求吗?

javascript pdf pdf.js

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