web2py是一个Python框架,但共享Ruby on Rails所具有的"约定优于配置"设计.从好的方面来说,它的标准版本包含更多的功能,我们声称它更快更容易使用.
有任何Rails用户尝试过吗?你有什么印象?
请不要咆哮.只是技术评论.
既然我已经对web2py比较熟悉了,我想给Django一个机会.
有哪些主要区别?
什么是开始考虑web2py知识的最有效方法?(它必须有一些python应用程序框架知识,不是吗?)
编辑
此外,如果您同时使用了两者,您能否提供您喜欢的意见和原因?
我想了解在web2py中使用HTML帮助程序而不是纯HTML标记元素的好处.例如,我在web2py应用程序(reddish)中阅读了以下HTML标记构建器代码:
{{=A(IMG(_src=URL(r=request,c='static',f='up.png')),_href=URL(r=request,f='vote',args=['up',item.id]))}}
Run Code Online (Sandbox Code Playgroud)
通过纯HTML标记编写此代码会导致:
<a href="/reddish/default/vote/up/{{=item.id}}"><img src="/reddish/static/up.png"/></a>
Run Code Online (Sandbox Code Playgroud)
我发现简单的HTML标记更容易阅读.但我想了解使用HTML帮助程序是否有任何好处?
顺便说一下,我第一眼看到的一个好处就是HTML帮助程序代码不需要编写应用程序的名称,即reddish显式.除此之外,使用HTML帮助程序还有其他好处吗?
为了寻找开发Web应用程序和门户的技术,我最近涉足Ruby和Python(从非系统管理员的角度来看......即,向Web应用程序开发)并立即爱上了python.我以后只想花时间在基于python的技术上(LOL).我迫切需要构建一个也可以作为企业网站运行的博客,所以我开始寻找可能的python解决方案.
我已经研究过所有主要的框架,并且像企业上的zope/plone一样,所以我最终会在plone中做很多事情.但是,我还需要一种"即时"的框架,我可以非常快速地推出并用于在博客中测试一些概念.
鉴于那里有很多优秀的python项目,这应该很容易吗?..好吧,错了.这真的很难,最后我永远无法弄清楚是否要使用Django或web2py.每个都有很好的优势.最后,我决定尽量避免痛苦并最初与他们玩耍......希望能够迅速发现每个人更适合不同项目的优势.
我要去:
我的主要优势在于,除了在web2py网站的"免费设备"下列出之外,基于web2py的Kpax和即时印刷机的额外信息似乎很少.我还没有看到kpax和即时印刷的完善替代品.
问题(对于那些熟悉和经验丰富的web2py):在哪里可以阅读更多关于即时印刷或kpax的内容,而不仅仅是观看3年前的电影?或者是我应该通过安装和玩它来继续它的想法?
提前感谢所有建议和信息..
如何在PythonAnywhere上启动并运行基本的web2py服务器 ?
是否有web2py方式显示数据库表中的图像?
例:
该模型:
db.define_table=('images',Field('picture', 'upload' ))
Run Code Online (Sandbox Code Playgroud)
控制器:
def somefunction(): to get the image.
Run Code Online (Sandbox Code Playgroud)
我究竟应该如何"读取"数据库中的图片?
风景:
<img src="{{somefunction}}" />
Run Code Online (Sandbox Code Playgroud) 为了支持大量自定义用户配置文件字段(例如用户名,位置,生日等),扩展基
auth_user表/整个auth系统的"正确"方法是什么?
我从谷歌搜索引起了一些方法,但似乎没有人给出一个直接的答案.答案似乎要么完全用auth_user自定义表替换基表(并让auth系统知道),要么创建一个带有外键引用的新扩展表回到基auth_user表.第一个似乎有可重用性问题,第二个似乎有形式等问题.
有没有人有任何指针可以修改像自定义用户配置文件一样普遍的东西而不会破坏太多?
编辑:更多的阅读建议覆盖基auth_user表是要走的路,经过一些试验和错误后,我发现它就像放入一段代码一样简单:
# before define_tables()
auth.settings.table_user = db.define_table('auth_user',
Field('email', length=128,label=T('Email'), default='', unique=True),
Field('user_name', length=128, label=T('User name'), default='', unique=True,
requires=IS_NOT_IN_DB(db, 'auth_user.user_name')
),
Field('password', 'password', readable=False, label=T('Password'),
requires=CRYPT()
),
Field('first_name', length=128, label=T('First name'), default='',
requires=(IS_NOT_EMPTY(error_message=auth.messages.is_empty),
IS_NOT_IN_DB(db, 'auth_user.first_name'))
),
Field('last_name', length=128, label=T('Last name'), default='',
requires=(IS_NOT_EMPTY(error_message=auth.messages.is_empty),
IS_NOT_IN_DB(db, 'auth_user.last_name'))
),
Field('registration_key', length=128, default='', writable=False, readable=False),
Field('country', 'string', length=15, label=T('Country'),
requires=IS_NULL_OR(IS_IN_SET(('England')))
),
)
Run Code Online (Sandbox Code Playgroud)
只要在models/db.py 之后auth = Auth(db)和之前执行auth.define_tables()它,这一切似乎都没问题.这些字段显示在用户个人资料页面上,其他所有内容仍然按预期工作.
不知道如何回答我自己的问题,所以在此期间,如果有人能解释为什么 …
我想启动一个web2py服务器,以便可以从托管服务器外部访问它.
我已经阅读了这篇 http://web2py.com/books/default/chapter/29/03
默认情况下,web2py在127.0.0.1:8000(localhost上的端口8000)上运行其Web服务器,但您可以在任何可用的IP地址和端口上运行它.您可以通过打开命令行并在Windows上键入ipconfig或在OS X和Linux上键入ifconfig来查询网络接口的IP地址.从现在开始,我们假设web2py在localhost(127.0.0.1:8000)上运行.使用0.0.0.0:80在任何网络接口上公开运行web2py.
但我找不到如何"使用0.0.0.0:80"?似乎没有一个命令行参数可以做到这一点.
谢谢
编辑:我应该说有问题的服务器没有GUI - 我知道有一些基于GUI的web2py管理设施,但这是不可能的.
编辑2:以防万一这一点不明确(并且它有所不同 - 我有点怀疑)我正在运行这样的服务器:
sudo python web2py.py
Run Code Online (Sandbox Code Playgroud)
不是通过wsgi/apache等.
我试图用unittest脚本执行一些selenium但我得到以下错误
Starting at: "Sat Dec 07 14:43:17 2013"
E
======================================================================
ERROR: test_template (__main__.ManageTemplates)
----------------------------------------------------------------------
Traceback (most recent call last):
File "template.py", line 70, in tearDown
self.driver.quit()
File "C:\Program Files (x86)\Python27\lib\site-packages\selenium-2.38.1-py2.7.egg\selenium\webdriver\firefox\webdriver.py", line 66, in quit
RemoteWebDriver.quit(self)
File "C:\Program Files (x86)\Python27\lib\site-packages\selenium-2.38.1-py2.7.egg\selenium\webdriver\remote\webdriver.py", line 454, in quit
self.execute(Command.QUIT)
File "C:\Program Files (x86)\Python27\lib\site-packages\selenium-2.38.1-py2.7.egg\selenium\webdriver\remote\webdriver.py", line 162, in execute
response = self.command_executor.execute(driver_command, params)
File "C:\Program Files (x86)\Python27\lib\site-packages\selenium-2.38.1-py2.7.egg\selenium\webdriver\remote\remote_connection.py", line 350, in execute
return self._request(url, method=command_info[0], data=data)
File "C:\Program Files (x86)\Python27\lib\site-packages\selenium-2.38.1-py2.7.egg\selenium\webdriver\remote\remote_connection.py", line 381, in _request
self._conn.request(method, parsed_url.path, data, headers) …Run Code Online (Sandbox Code Playgroud) web2py是使用python 3.3还是python 3.4?我已经安装了web2py,但它无法使用我使用的python3.4运行.尝试运行'web2py.exe - S welcome'后出现错误,说法语错误