这是代码
CREATE OR REPLACE FUNCTION primes (IN integer) RETURNS TEXT AS $$
DECLARE
counter INTEGER = $1;
primes int [];
mycount int;
BEGIN
WHILE counter != 0 LOOP
mycount := count(primes);
array_append(primes [counter], mycount);
counter := counter - 1;
END LOOP;
RETURN array_to_text(primes[], ',');
END;
$$
LANGUAGE 'plpgsql'
Run Code Online (Sandbox Code Playgroud)
这是我开发主要生成函数的开始.我试图简单地让它返回数组的'count'.因此,如果我将"7"传递给函数,我应该回到[0,1,2,3,4,5,6].
但是当我尝试创建这个功能时,我得到了
SQL Error: ERROR: syntax error at or near "array_append" LINE 1: array_append( $1 [ $2 ], $3 )
^ QUERY: array_append( $1 [ $2 ], $3 ) CONTEXT: SQL statement …Run Code Online (Sandbox Code Playgroud) 媒体目前在我的本地开发机器上.
我的MEDIA_ROOT,MEDIA_URL,ADMIN_MEDIA_PREFIX并指定如下:
MEDIA_ROOT = os.path.join(os.path.dirname(__file__), "media")
MEDIA_URL = '/media/'
SITE_URL = 'http://localhost:80'
ADMIN_MEDIA_PREFIX = '/media/admin/'
Run Code Online (Sandbox Code Playgroud)
没有'admin'文件夹,但这不应该有所作为我不认为.在urls.py文件中我有:
(r'^media/(?P<path>.*)$', 'django.views.static.serve', {'document_root': settings.MEDIA_ROOT}),
Run Code Online (Sandbox Code Playgroud)
我不知道应该怎样做才能让它发挥作用.[我正在尝试学习django并且正在使用一个非常多毛的现有项目]
我似乎无法让这个工作.
我需要South为一堆应用程序进行迁移.
通过转到python解释器并执行(没有错误),仔细检查以查看它是否应该在哪里
进口南
我做
Run Code Online (Sandbox Code Playgroud)C:\Users\j\iMiCode\imi_admin>python ./manage.py syncdb同步...找不到固定装置.
Run Code Online (Sandbox Code Playgroud)Synced: > django.contrib.auth > django.contrib.contenttypes > django.contrib.sessions > django.contrib.sites > django.contrib.messages > django.contrib.admin Not synced (use migrations): - south (use ./manage.py migrate to migrate these)
- 根据我的理解,南方本应该同步正确吗?在此之后我做的任何事情都抱怨我在数据库中没有south_migrationhistory表.
PS.我在Windows7上使用Django 1.2.7,python 2.6
我的代码在 116.0.5845.96 之前工作(我不确定这部分是否相关)
--- 编辑:我对代码做了更多测试。这不是点击的问题,而是页面本身无法正确加载。
我只是直接进入页面 - DOM 看起来并没有完全加载。其中一个下拉列表没有数据。有些点击(?)不起作用。我需要执行 Click() 两次才能真正打开我的模式。
我不知道发生了什么变化,我的脚本本身没有改变。唯一可能的变化是在 chromedriver 中,也许是我的应用程序上的某些变化,但我不知道发生了任何重大变化。
任何甚至牵强的建议都会有所帮助。我现在正抓住救命稻草。
我想知道的实际上是两件事.
第1部分:
我在python中使用Django框架开发了一个应用程序源代码.我想要的是能够在开发人员计算机上运行代码并查看结果.我需要什么?(我的猜测):Python开发enironment(Eclipse/PyDev/Aptana Studio 3似乎是更好的Windows不确定Linux),
我也有一个postgre数据库已经设置(我知道有一个文件,我必须指定连接信息)
- 从django安装的东西或者这已经包含在我的代码中?
第二部分:
我还想通过互联网访问开发服务器.
- 这是问题的主要部分,也是最重要的部分.如何发布应用程序?
- 我有一台Linux机器,我会这样做,但不确定我需要的所有东西.Apache服务器?
请看下面对不同方式的一些测试比较的原始问题:
所以我到目前为止尝试了两种方法:
1.使用Windows命令行中的获取文件夹大小中的代码遍历目录:
@echo off
set size=0
for /r %%x in (folder\*) do set /a size+=%%~zx
echo %size% Bytes
Run Code Online (Sandbox Code Playgroud)
2.保存输出
'dir %folder% /s /a'
Run Code Online (Sandbox Code Playgroud)
进入文本文件,然后读入底部的大小
我现在尝试的最后一种方法是使用du(来自MS的磁盘实用工具 - https://technet.microsoft.com/en-us/sysinternals/bb896651.aspx).
现在除#3外,这两种方式似乎都太慢了我所需要的(数以千计的文件).所以问题是哪一个是最快的/应该是最快的,如果有任何其他快速(呃)方法来获得具有100k +文件的文件夹内容的大小(并且有100个文件夹)
下面是我非常hacky做比较的方法(屠宰我的程序看到一些输出)
有一些小错误,一些部分,如选项3将失败,因为它试图处理大于32位限制的数字,我是确定还有一些问题,但我认为一般的时间是明显的,除非我真的搞砸了我的逻辑.
选项I:遍历目录,使用VB脚本读取'dir'的文本输出并查找最后的大小+将其转换为MB(最初从其他地方获得它,我实际上失去了我得到它的地方选项II:迭代,使用findstr管道并直接输出结果(不转换为MB) - 来自@MC ND选项III:使用compact命令迭代 - 来自@npocmaka选项IV:来自@ user1016274 - 使用robocoby
(还有一些答案,但这些是我能够融入的答案)
这些是我得到的结果,它们相互之间非常一致,robocopy将它们吹走了
选项I和选项II通常都很接近,选项II稍微好一点(两者都在1分10秒到2分10秒之间,不确定差异来自哪里)第III部分 - 16-17分钟第IV部分 - 10-20秒
@echo OFF
setlocal enabledelayedexpansion
REM OPTION I - directory iteration
REM OPTION II - iteration with findstr pipe
REM OPTION III - compact
:MAIN
REM Initialize log filename …Run Code Online (Sandbox Code Playgroud) django ×3
python ×3
arrays ×1
batch-file ×1
c# ×1
cmd ×1
django-media ×1
django-south ×1
du ×1
migration ×1
postgresql ×1
windows ×1