小编Aus*_*tin的帖子

Python通配符搜索字符串

让我们说我有一个清单

list = ['this','is','just','a','test']
Run Code Online (Sandbox Code Playgroud)

如何让用户进行通配符搜索?

搜索词:'th_s'

会回来'这个'

python

61
推荐指数
3
解决办法
21万
查看次数

创建芹菜任务然后同步运行

我的应用程序在页面上收集了一堆电话号码.一旦用户点击提交按钮,我创建一个芹菜任务来调用每个号码并给出一个提醒消息,然后将它们重定向到一个页面,在那里他们可以看到有关该呼叫的实时更新.我正在使用Web套接字来实时更新每个呼叫的状态,并且需要同步执行任务,因为我只能从一个号码拨出.

因此,一旦第一个呼叫/任务完成,我希望下一个呼叫/任务启动.

我看了一下CELERY_ALWAYS_EAGER设置,但它刚刚完成第一次迭代并停止了.

@task
def reminder(number):
    # CODE THAT CALLS NUMBER HERE....

def make_calls(request):
    for number in phone_numbers:                     
        reminder.delay(number)      

    return redirect('live_call_updates') 
Run Code Online (Sandbox Code Playgroud)

python django celery django-celery

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

在PIP requirements.txt中传递--no-deps

我需要将一个标志传递给--no-deps我的requirements.txt文件中的一个包,以忽略包的依赖关系.我试过把它放在上面,吹,包之前和包之后无济于事.我可以自己做这个没有问题但不在requirements.txt文件中

pip install <package> --no-deps
Run Code Online (Sandbox Code Playgroud)

requirements.txt

<package> --no-deps
Run Code Online (Sandbox Code Playgroud)

python pip

16
推荐指数
2
解决办法
3279
查看次数

具有ManyToMany字段的Django表单,500,000个对象超时

让我们说例如我有一个名为"Client"的模型和一个名为"PhoneNumbers"的模型

class PhoneNumbers(models.Model):
    number = forms.IntegerField()

class Client(models.Model):
    number = forms.ManyToManyField(PhoneNumbers)
Run Code Online (Sandbox Code Playgroud)

客户端与PhoneNumbers具有ManyToMany关系.PhoneNumbers中有近500,000条记录,因此在使用带有M2M字段的MultiSelect小部件从模型表单编辑客户端记录时,需要永久加载.事实上,它永远不会.它只是坐在那里试图加载我假设的所有这些手机对象.

我的解决方法是使用ajax和jquery进行一些繁琐的工作来编辑客户端记录中的电话号码.在浪费我所有的时间之前,我想看看是否有某种方式可以解决这个问题,而不会让我的页面挂起.

django django-forms

13
推荐指数
2
解决办法
2987
查看次数

Angularjs中的Django Admin

我正在将我的Django项目前端从使用jquery转换使用Django Rest Framework的angularjs,以帮助使其成为单页面应用程序.我已经将大部分棘手的页面转换为角度,现在与Django的管理页面进行战斗.

我喜欢Django的内置管理功能,我的用户每天都使用它,所以我想尽可能地复制它.我没有找到任何与此相关的软件包,所以我要咬紧牙关,开始从头开始制作它.在我开始繁琐的过程之前,我想看看是否有其他人有类似的任务以及他们为完成它所做的工作.也许有人知道最佳实践方式吗?

我的计划是根据URL(admin/app/model)中显示的模型创建一个可重用的控制器,以显示django-admin的视图change_listchange_form视图.我是angularjs的新手,所以我可能没有完全意识到这样做的最好方法.

一旦我构建了这个,我就会在githhub上发布它.

更新 我已经创建了一个github存储库,现在已经有一段时间了.它仍然非常原始,不能100%工作.如果您对它感兴趣或想要帮忙,请转到:https://github.com/austinhuminski/angular-django-admin

django django-admin angularjs single-page-application django-rest-framework

12
推荐指数
2
解决办法
4597
查看次数

Django Ajax Jquery Call

这可能是基本的,但我花了两天时间,阅读了无数的教程,但我仍然无法使用它.为了让它看起来有效,我试图完成一项基本任务.我想发送一个ajax调用我的捐赠视图.我看到它成功通过但我期待我的模板也会更新为"TRUE",但它仍然是"FALSE".我很欣赏任何帮助或建议.

我的jquery ......

$.ajax({
    type: "POST",
    url:"/donate/",
    data: {
    'test': 'success',
    },
    success: function(){
      alert('test')
     },
    error: function(){
        alert("Error");
});
Run Code Online (Sandbox Code Playgroud)

这是我的看法......

def donate(request):
    if request.is_ajax():
        test = "TRUE"

    if request.method == 'POST':
        form = DonateForm(request.POST)
        if form.is_valid():
            form.save()
    else:
        form = DonateForm()
        test = "FALSE"

    return render_to_response('donate_form.html', {'form':form,'test':test}, context_instance=RequestContext(request))
Run Code Online (Sandbox Code Playgroud)

我的模板包括这个......

<h1>{{ test }}</h1>
Run Code Online (Sandbox Code Playgroud)

更新/解决方案

就像在这个问题的评论中提到的那样,我没有对返回的数据做任何事情.我将成功通话更新到以下内容并且有效

    $.ajax({
    type: "POST",
    url:"/donate/",
    data: {
    'zip': zip,
    },
    success: function(data){            

        results = $(data).find('#results').html()               
        $("#id_date").replaceWith("<span>" + results + "</span >");

    },
    error: function(){
        alert("Error");
    },
Run Code Online (Sandbox Code Playgroud)

python django ajax jquery

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

通过HDMI通过命令行发送CEC命令

我的总体规划是能够从树莓派发送CEC命令来执行诸如打开/关闭电视以及连接到电视的其他设备之类的操作。然后,我将添加语音识别以发送这些命令……这是另一天的事情。我已经阅读了CEC,但是从我收集到的信息来看,如果没有CEC USB适配器,您似乎无法直接通过命令行发送CEC命令?我已经在pi上安装了cec-client和libCEC库,但是当我运行cec-client -l时,它没有显示任何设备。

我的问题是,如何在没有适配器的情况下从pi通过命令行将CEC命令发送到电视?我是否缺少有关CEC的一些基本要素?

更新

除了下面的帖子之外,还有一个链接在stackoverflow的PI部分中询问,该链接中还有一些CEC命令,我已在.bashrc中放入这些命令来打开/关闭电视并更改输入

https://raspberrypi.stackexchange.com/questions/5345/raspmbc-send-cec-commands-without-cec-adapter

television hdmi raspberry-pi

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

从 AWS Lambda 上的 S3 读取文件时出现 IncompleteReadError

当从 AWS Lambda 上的 S3 读取文件时,我得到IncompleteReadError. 当我在本地尝试时,效果很好。这仅发生在 Python3.6 上,并且在 Python3.7 上运行良好 - 但是我需要使用 Python3.6。我也尝试使用资源而不是客户端,但得到了相同的错误

Traceback (most recent call last):
  File "/var/task/function.py", line 141, in handler
    i = d.read()
  File "/var/runtime/botocore/response.py", line 82, in read
    self._verify_content_length()
  File "/var/runtime/botocore/response.py", line 134, in _verify_content_length
    expected_bytes=int(self._content_length))
botocore.exceptions.IncompleteReadError: 0 read, but total bytes expected is 36678.
Run Code Online (Sandbox Code Playgroud)

失败的代码区域在这里:

client = boto3.client('s3')        
get_json_file = client.get_object(
    Bucket=os.environ['S3_BUCKET'],
    Key="{0}".format(file_name),
)

d = get_json_file.get('Body')
i = d.read()
data = json.loads(i)
Run Code Online (Sandbox Code Playgroud)

amazon-s3 amazon-web-services python-3.x boto3 aws-lambda

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

django-taggit on models with UUID as pk throwing out of range on save

I have models that uses UUID as its PK

class Foo(models.Model):        
    foo_id = models.UUIDField(  
        primary_key=True,             
        default=uuid.uuid4,           
        editable=False                
    )  
    tags = TaggableManager()        
Run Code Online (Sandbox Code Playgroud)

When I go and try to add a new tag

f = Foo.objects.latest('pk')
f.tags.add("testing")
Run Code Online (Sandbox Code Playgroud)

I get DataError: integer out of range

When I import pdb on the cursor to view the SQL going in I see this.

(Pdb) params                                                                                                              
(1, 287082253891563438098836942573405313042, 9)                                                                           
(Pdb) sql                                                                                                                 
'INSERT INTO "taggit_taggeditem" ("tag_id", "object_id", "content_type_id") VALUES (%s, %s, %s) RETURNING "taggit_taggedit
m"."id"'    
Run Code Online (Sandbox Code Playgroud)

That long …

django django-taggit django-contenttypes

5
推荐指数
2
解决办法
784
查看次数

Snowflake python 连接器无法处理 AWS Lambda 中的较大数据集

我正在使用 Snowflakes python 连接器尝试从我们的数据仓库检索一组数据进行处理。该作业在 AWS lambda 函数内执行,当返回的行数约为 20 左右时就会出现问题。当我设置 alimit 10limit 20我能够取回数据集。如果我停止limit,那么它会很难尝试获得只有 65 行的结果集。

我的 lambda 中的内存和超时值已经达到最大值,导出到 CSV 的数据集只有 300KB。在本地运行此查询返回得很好,因此它可能与内存大小有关,但返回的数据实际上并没有那么大。

connector = snowflake.connector.connect(
    account=os.environ['SNOWFLAKE_ACCOUNT'],
    user=os.environ['SNOWFLAKE_USER'],
    password=os.environ['SNOWFLAKE_PASSWORD'],
    role="MY_ROLE",
    ocsp_response_cache_filename="/tmp/.cache/snowflake/"
                                 "ocsp_response_cache",
)
print("Connected to snowflake")
cursor = connector.cursor(DictCursor)
cursor.execute('USE DATA.INFORMATION_SCHEMA')

query = "SELECT * FROM TABLE WHERE X=Y"  # FAKE QUERY

print("Execute query: \n\t{0}".format(query))
cursor.execute(query)
print("Execute query done!")
posts = []
processed = 0
for rec in cursor:
    processed += 1
    print("Processed count: {}".format(processed))
    posts.append(rec)

# …
Run Code Online (Sandbox Code Playgroud)

python database data-warehouse aws-lambda snowflake-cloud-data-platform

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