假设我有数据表
A B C D
-----------
5 4 6 3
4 4 3 2
5 4 6 2
Run Code Online (Sandbox Code Playgroud)
我想做点什么
A B C D E F
----------------------------------------------
5 4 6 3 =AVERAGE(A1,C1) =AVERAGE(B1,D1)
4 4 3 2 =AVERAGE(A2,C2) =AVERAGE(B2,D2)
5 4 6 2 =AVERAGE(A3,C3) =AVERAGE(B3,D3)
Run Code Online (Sandbox Code Playgroud)
所以基本上我想制作一个使用当前行但是特定列的公式来查找平均值.有没有办法做到这一点?特别是要将每列的整个自动化(假设所有列都是相同的高度)?
所以我试图在Django中启用跨源资源共享,所以我可以发布到外部站点,当我设置时很容易做到
response["Access-Control-Allow-Origin"]="*"
Run Code Online (Sandbox Code Playgroud)
但我想让它检查原点是否在允许的原始列表中(主要是限制它只允许特定的站点)但我似乎无法在Django请求中找到我可以获取原始信息的任何地方.
我尝试使用request.META ['HTTP_HOST'],但这只是返回要发布到的网站.有谁知道在Request对象中我可以获得请求的来源?
我基本上有一个用于网站的网络服务器和另一个仅存储文件的网络服务器。文件服务器通过安装其目录之一连接到主服务器。该网站运行 Django,所以我主要处理 python。不管怎样,我似乎遇到了一些问题,文件被报告为不存在,即使它们实际上存在。
基本上当我打电话时
filepath = '/path/to/file/on/nfs/share'
exists = os.path.exists(filepath)
Run Code Online (Sandbox Code Playgroud)
即使文件确实存在,exists也是 false,而且我知道它确实存在,因为我已将时间戳打印到日志文件中,该日志文件准确显示了它的创建时间。我不确定可能是什么问题,但我知道 os.path.exists 的文档说
在某些平台上,如果未授予对请求的文件执行 os.stat() 的权限,则该函数可能会返回 False,即使路径实际存在。
我知道情况并非如此,因为这些文件共享相同的组和组号,这也在两台服务器上共享相同的组号。它可能是一个陈旧的缓存或类似的东西吗?
我的安装是通过 fstab 自动完成的。
Client side, the settings are:
filehost:/filefolder /localfolder nfs defaults,rsize=32768,wsize=32768
Server side, the settings are:
/filefolder webserver(rw,sync,no_root_squash,no_subtree_check)
Run Code Online (Sandbox Code Playgroud)
编辑:
所以,我想了解更多信息/细节。我正在运行一个 Python 子进程,它在远程目录中生成一个文件。当发出请求时,它启动子进程并返回文件的预期位置。
在前端,有一个被 ping 的 url,它为该文件调用 os.path.exists() ,当它执行时,然后通过 ajax 加载资源。
怀疑的问题是,有时此 pinger 会报告该文件在实际可用后几秒钟内不可用。这也是我认为可能是陈旧缓存存在问题的原因。
所有文件和其中的目录都是所有者/组 www-data,以及由 django 实例化的任何子进程。而且这个问题似乎并不完全可重复。有时它会很快起作用,而另一些则需要比预期多几秒钟的时间
这真的让我感到困惑,我不明白为什么。我有数据库支持的会话(使用 mongoengine),但似乎当我访问一个页面然后刷新它时,用户不再登录。本质上
request.user.is_authenticated()
Run Code Online (Sandbox Code Playgroud)
页面重置后为 False
谁有想法?在我的设置中,我有:
SESSION_ENGINE = 'mongoengine.django.sessions'
MIDDLEWARE_CLASSES = (
...
'django.contrib.sessions.middleware.SessionMiddleware',
...
Run Code Online (Sandbox Code Playgroud)
在调试页面上,我注意到一些事情:
SESSION_COOKIE_DOMAIN None
SESSION_EXPIRE_AT_BROWSER_CLOSE False
SESSION_COOKIE_AGE 1209600
Run Code Online (Sandbox Code Playgroud)
不存在的 cookie 域是否可以作为问题所在的线索?
所以我已经阅读了所有类似的问题并复制了他们写的内容,但我仍然遇到问题.所以我想要这样的东西
# Yes, I know django has one but I want to make my own
@rate_limit(seconds=10)
myview(request, somearg, *args, **kwargs):
# Return a response
...
def rate_limit(seconds=10):
def decorator(view):
def wrapper(request, *args, **kwargs):
# Do some stuff
return view(request, *args, **kwargs)
return wrapper
return decorator
Run Code Online (Sandbox Code Playgroud)
当我运行它时,我得到了错误
decorator() got an unexpected keyword argument 'somearg'
Run Code Online (Sandbox Code Playgroud)
所以我追加装饰器来接受args和kwargs并得到这个错误
# New decorator signature
def decorator(view, *args, **kwargs)
Run Code Online (Sandbox Code Playgroud)
和错误
'function' object has no attribute 'status_code'
Run Code Online (Sandbox Code Playgroud)
编辑: 所以解决方案是使用.谢谢Martijn Pieters!
@rate_limit()
Run Code Online (Sandbox Code Playgroud)
代替
@rate_limit
Run Code Online (Sandbox Code Playgroud) 可以这样做吗?
class Doc1:
fieldd1 = StringField()
class Doc2:
fieldd2 = ReferenceField(Doc1.fieldd1)
Run Code Online (Sandbox Code Playgroud)
或者我应该只引用Doc,然后在需要时获取字段信息
所以我有一个只有1个应用程序的django站点,但是我想维护建议的文件夹结构,所以我希望所有传入的根目录配置请求转到那个应用程序的urls.py
基本上我有一个类似的结构
site/
site/
urls.py
settings.py
...
app/
urls.py
...
Run Code Online (Sandbox Code Playgroud)
我希望site/urls.py看起来像这样
url(r'*matching anything here*', include('app.urls')),
Run Code Online (Sandbox Code Playgroud)
我只是无法弄清楚如何使正则表达式匹配任何长度的任何字符集.基本上一切.
我试过用
r'(?i).'
Run Code Online (Sandbox Code Playgroud)
但它似乎仍然失败
django ×6
python ×4
mongoengine ×2
cross-domain ×1
decorator ×1
excel ×1
excel-2010 ×1
javascript ×1
linux ×1
mongodb ×1
nfs ×1
post ×1
regex ×1
ubuntu-12.04 ×1