这是Python 2.5,它也是GAE,并不重要.
我有以下代码.我正在使用dec_check类作为装饰器在bar中装饰foo()方法.
class dec_check(object):
def __init__(self, f):
self.func = f
def __call__(self):
print 'In dec_check.__init__()'
self.func()
class bar(object):
@dec_check
def foo(self):
print 'In bar.foo()'
b = bar()
b.foo()
Run Code Online (Sandbox Code Playgroud)
执行此操作时,我希望看到:
In dec_check.__init__()
In bar.foo()
Run Code Online (Sandbox Code Playgroud)
但我得到" TypeError: foo() takes exactly 1 argument (0 given)"作为.foo()一种对象方法,以自我为参数.我猜测问题是bar当我执行装饰器代码时,实例并不存在.
那么如何将一个实例传递bar给装饰器类呢?
真的很简单的问题.我在Ubuntu 9.04(我是Ubuntu的新手),我找不到GAE的开发服务器日志.有人可以告诉我他们在哪里吗?谷歌搜索没有返回任何结果.
我需要在我的RewriteRule中包含一个可选的尾随向前闪存,这是一个/
到目前为止我所拥有的是什么
RewriteRule ^([a-zA-Z0-9]+)$ u.php?$1|$2
Run Code Online (Sandbox Code Playgroud)
哪个工作正常,例如http://foo.bar/abcde将重定向到http://foo.bar/u.php?abcde并处理可能存在的任何查询字符串参数.
我需要做的是拿http://foo.bar/abcde/(带尾随向前闪光)并重定向到http://foo.bar/u.php?abcde
所以,如果它存在,我需要在我的RewriteRule中从$ 1中删除最后的正斜杠.我该怎么做呢?我是apache的新手,并尝试了许多不同的正则规则,但无法正确使用它.
这是使用Web应用程序框架,而不是Django.
下面的模板代码给了我一个TemplateSyntaxError:当我尝试渲染字典时,带有五个单词的'for'语句应以'reverse'错误结束.我不明白是什么导致了这个错误.有人可以为我解释一下吗?
{% for code, name in charts.items %}
<option value="{{code}}">{{name}}</option>
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
我正在使用以下内容进行渲染:
class GenerateChart(basewebview):
def get(self):
values = {"datepicker":True}
values["charts"] = {"p3": "3D Pie Chart", "p": "Segmented Pied Chart"}
self.render_page("generatechart.html", values)
class basewebview(webapp.RequestHandler):
''' Base class for all webapp.RequestHandler type classes '''
def render_page(self, filename, template_values=dict()):
filename = "%s/%s" % (_template_dir, filename)
path = os.path.join(os.path.dirname(__file__), filename)
self.response.out.write(template.render(path, template_values))
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用本教程让Django在GAE上运行.
当我运行python manage.py runserver时,我得到下面的堆栈跟踪.我是django和python的新手,所以我不知道接下来的步骤是什么(这是Ubuntu Jaunty btw).似乎django没有找到SDK 1.3.1附带的GAE模块ipaddr.
如何让django找到这个模块?
/home/username/bin/google_appengine/google/appengine/api/datastore_file_stub.py:40: DeprecationWarning: the md5 module is deprecated; use hashlib instead
import md5
/home/username/bin/google_appengine/google/appengine/api/memcache/__init__.py:31: DeprecationWarning: the sha module is deprecated; use the hashlib module instead
import sha
Traceback (most recent call last):
File "manage.py", line 18, in <module>
InstallAppengineHelperForDjango()
File "/home/username/Development/GAE/myapp/appengine_django/__init__.py", line 543, in InstallAppengineHelperForDjango
InstallDjangoModuleReplacements()
File "/home/username/Development/GAE/myapp/appengine_django/__init__.py", line 260, in InstallDjangoModuleReplacements
import django.db
File "/home/username/Development/GAE/myapp/django/db/__init__.py", line 57, in <module>
'TIME_ZONE': settings.TIME_ZONE,
File "/home/username/Development/GAE/myapp/appengine_django/db/base.py", line 117, in __init__
self._setup_stubs() …Run Code Online (Sandbox Code Playgroud) 我正在按照本指南从源代码将ckan安装到ubuntu服务器14.04上:http://docs.ckan.org/en/latest/maintaining/installing/install-from-source.html
我遇到的问题是,当我尝试在本地访问solr时,我收到以下错误:
ERROR 500: org/apache/tomcat/util/descriptor/LocalResolver.
Run Code Online (Sandbox Code Playgroud)
我已经google了,并尝试将libtomcatlib-6更改为以前的版本,但降级将不会采取(此后此apt-get表示未找到该版本).有人有主意吗?
我的应用程序作为Windows服务运行,我将VS2013附加到它的调试过程.我正在获取图像文件内容的哈希码,以检查以下方法的差异(在静态类中):
static class FileUtils
{
public static int GetFileHash(string filePath)
{
int hash = 0;
Logger.WriteLog(ToolTipIcon.Info, "Calculating hash code for {0}", filePath);
StreamReader sr = new StreamReader(filePath, Encoding.Unicode);
hash = sr.ReadToEnd().GetHashCode();
sr.Close();
return hash;
}
}
Run Code Online (Sandbox Code Playgroud)
这在生产中一直很好.但是,对于两个不同的图像,此方法将始终返回2074746262.我试图在winforms应用程序中使用相同的代码和图像重现这一点,我不能.是否存在调试VS2013中的进程会导致此行为的问题?我用一个完全不同的图像替换了其中一个图像,但它仍然会发生.
在northwind交易者数据库中,unitprice列在产品和[订单详细信息]表中.两个表都列出了同一产品的不同价格.这是冗余还是有解释?
我正在使用谷歌的webapp框架.我在get方法中使用template.render()来为我渲染模板.
我正在使用以下代码为我执行此操作
path = os.path.join(os.path.dirname(__file__), file_name)
self.response.out.write(template.render(path, template_values))
Run Code Online (Sandbox Code Playgroud)
其中file_name是要呈现的模板,template_values是包含要呈现的任何值的dict().如果我没有任何我想要呈现的值,该怎么办?我只是传入一个空dict()物体吗?对我来说这似乎不是一个很好的解决方案.我应该使用template.load()吗?
(我也无法在谷歌应用引擎上找到模板类的文档,因此我问.)
对我来说,lodash会产生意想不到的行为.我指定舍入到小数点后2位的地方有时会给我一个.这是lodash v3.20.1和Chrome v51.例如,5.599999将舍入到5.6而不是5.59.
var num = 5.58888
console.log('lodash num .round is ' + _.round((num), 2)); // 5.59 as expected
var num2 = 5.59999;
console.log('lodash num2 .round is ' + _.round((num2), 2)); // 5.6 not expected, why?
Run Code Online (Sandbox Code Playgroud)
这是错误还是我做错了什么?