小编use*_*003的帖子

Django:在后台发送电子邮件的最佳方式?

我正在从Django发送电子邮件(使用Webfaction).但是,这很慢,所以我想在后台发送电子邮件,即使电子邮件尚未发送,也会向用户返回回复.

有什么想法是最好的方法吗?

我读过有关芹菜的文章,但似乎有很多步骤可以设置它:http://markliu.me/2011/sep/29/django-celery-on-webfaction-using-rabbitmq/那没关系,但是我我想知道这是尝试之前要走的路.

线程怎么样?http://www.artfulcode.net/articles/threading-django/

还是cron的工作?http://docs.webfaction.com/software/general.html

您有其他经验的人吗?

django multithreading background-process

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

Django,sleep()暂停所有进程,但只有没有GET参数?

使用Django(由Webfaction托管),我有以下代码

import time
def my_function(request):
    time.sleep(10)
    return HttpResponse("Done")
Run Code Online (Sandbox Code Playgroud)

当我访问我的网址www.mysite.com时,这是通过Django执行的

我两次之后立即输入网址.我看到它的方式,这些都应该在10秒后完成.但是,第二个呼叫等待第一个呼叫,并在20秒后结束.

但是,如果我输入一些虚拟GET参数,www.mysite.com?dummy=1和www.mysite.com?dummy=2那么它们都会在10秒后完成.因此它们可以同时运行.

就好像sleep()的范围在某种程度上是全局的?也许输入一个参数使它们作为不同的进程运行而不是相同的???

它由Webfaction托管.httpd.conf有:

KeepAlive Off
Listen 30961
MaxSpareThreads 3
MinSpareThreads 1
ServerLimit 1
SetEnvIf X-Forwarded-SSL on HTTPS=1
ThreadsPerChild 5
Run Code Online (Sandbox Code Playgroud)

我确实需要能够使用sleep()并相信它并没有停止一切.那么,它是什么以及如何解决它?

编辑:Webfaction使用Apache运行它.

python django sleep

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

jquery:反向迭代 children()

我需要反向迭代 jquery 子元素:

$("#parent").children().each(function() {
  # do stuff
})
Run Code Online (Sandbox Code Playgroud)

但反过来。

我已经看到使用 reverse() 和 get()

$($("li").get().reverse()).each(function() { /* ... */ });
Run Code Online (Sandbox Code Playgroud)

但似乎无法让它与儿童()一起工作。

jquery

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

Django,带有原始sql的多个数据库.如何选择db?

我有一个利用多个数据库的Django项目.https://docs.djangoproject.com/en/dev/topics/db/multi-db/

我执行了很多这样的原始查询:

  cursor = connection.cursor()
  cursor.execute("select * from my_table")
  ....
  transaction.commit_unless_managed()
Run Code Online (Sandbox Code Playgroud)

如何指定要使用的数据库?

django

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

Python回溯,即使不显示完整的回溯,也显示发生错误的行

如何确保打印出失败的实际行而不包含整个回溯?回溯对我来说可能太长了,我也要把它全部打印出来。

这段代码只打印函数a和b中的错误,但我想看到实际的错误发生在函数d中。

import traceback
def a():
    try:
        return b();
    except:
        print traceback.format_exc(2)

def b():
    return c();

def c():
    return d();

def d():
    x = 1/0

a()
Run Code Online (Sandbox Code Playgroud)

python error-handling

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

使用Python创建openoffice .odt文档

如何从Python创建一个开放的办公室.odt文件?

我正在看这个http://wiki.openoffice.org/wiki/Python,但很困惑.我已经有了Python 2.7所以我从哪里开始?以上链接讨论了使用Python进行Open Office运输.我已经得到了吗?我甚至需要OpenOffice吗?是不是只有一些模板,某种方式文档需要看起来如此,它将被识别为odt?我需要实际的编辑器吗?

我喜欢https://github.com/mikemaccana/python-docx,但是对于Open Office.

对于这个开放式问题,我很抱歉,但我确实已经环顾四周,觉得我错过了一些关于所需内容的重要链接/理解.

python openoffice.org

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

HTML/CSS在没有javascript的情况下检测IE11

我一直在使用以下技巧来制作特定于浏览器的html:

<!--[if (IE)]>  <div class= "ie"> <![endif]-->
<!--[if !(IE)]><!--> <div class= "not_ie"> <!--<![endif]-->
</div>
Run Code Online (Sandbox Code Playgroud)

这不适用于IE11.有什么新技巧可以使用吗?

我可以使用javascript检测它:

使用CSS功能/特征检测检测IE11

要么

Object.hasOwnProperty.call(window, "ActiveXObject") && !window.ActiveXObject)
Run Code Online (Sandbox Code Playgroud)

但我希望避免这种情况.

html css internet-explorer-11

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

如何使用Django HttpResponseRedirect提供规范URL?

这个问题与我刚才问过的问题非常相似:我可以使用Google搜索结果来显示最终的重定向网址吗?,但现在问题是Django特有的.

我的网站的网页网址使用以下格式:

www.mysite.com/id/pretty_title
Run Code Online (Sandbox Code Playgroud)

首页链接到这些页面,但href实际上包含一些参数:

 www.mysite.com/id/?some_ugly_parameters_to_let_me_know_what_search_it_is_from
Run Code Online (Sandbox Code Playgroud)

然后重定向到

www.mysite.com/id/pretty_title
Run Code Online (Sandbox Code Playgroud)

显示页面.

我的问题是 Google的搜索结果显示该页面的链接是丑陋的网址,而不是漂亮的重定向网址.

我所学到的是我需要提供规范链接.但是,当丑陋的网页从未真正存在时,我怎么能这样做,至少不是我写的那个?

服务器端发生的事情是丑陋网址的视图会重定向:

return HttpResponseRedirect(pretty_url)
Run Code Online (Sandbox Code Playgroud)

django httpresponse

6
推荐指数
2
解决办法
3685
查看次数

区分Android Chrome和库存浏览器.Stock浏览器的用户代理包含'Chrome'

我需要告诉用户我的网站使用的浏览器.(编辑:用户需要添加书签,这在标准的"互联网"浏览器上是不可能的.我需要知道要向他们展示什么消息.)

编辑:我不需要能够检测任何类型的浏览器.在这种情况下,我特别需要能够检测浏览器是否真的是谷歌Chrome浏览器.

对于至少一个智能设备,我无法分辨股票'互联网'浏览器和Chrome之间的区别; 两者都包含"Chrome"一词.

三星galaxy s5:

股票浏览器用户代理:

Mozilla/5.0(Linux; Android 4.4.2; zh-CN; SAMSUNG-SM-G900A Build/KOT49H)AppleWebKit/537.36(KHTML,类似Gecko)版本/ 1.6 Chrome/28.0.1500.94 Mobile Safari/537.36

Chrome用户代理:

Mozilla/5.0(Linux; Android 4.4.2; SAMSUNG-SM-G900A Build/KOT49H)AppleWebKit/537.36(KHTML,与Gecko一样)Chrome/36.0.1985.128 Mobile Safari/537.36

"版本/ Xx"是不同的,但总是如此吗?

编辑:我已经按照评论中的建议检查了以前的答案.他们认为非Chrome浏览器不包含Chrome一词.

javascript user-agent android

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

Django模型"IndexError:列表索引超出范围"Pydev

我在Eclipse PyDev中有一个Django项目.

我有一个文件views.py,其中包含以下行:

from models import ingredient2
Run Code Online (Sandbox Code Playgroud)

在models.py我有:

from django.db import models
class ingredient2(models.Model):
     ingredient     = models.CharField(max_length=200)
Run Code Online (Sandbox Code Playgroud)

当我尝试运行该应用程序时,我收到以下错误:

File "C:\Python27\lib\site-packages\django\db\models\base.py", line 54, in __new__
kwargs = {"app_label": model_module.__name__.split('.')[-2]}
IndexError: list index out of range
Run Code Online (Sandbox Code Playgroud)

我确实同步了数据库并启动了服务器运行.

我进入了base.py并添加了2个打印语句(是的,我可能不应该编辑Django的文件):

if getattr(meta, 'app_label', None) is None:
            # Figure out the app_label by looking one level up.
            # For 'django.contrib.sites.models', this would be 'sites'.
            model_module = sys.modules[new_class.__module__]
            print model_module #ADDED
            print model_module.__name__ #ADDED
            kwargs = {"app_label": model_module.__name__.split('.')[-2]}
Run Code Online (Sandbox Code Playgroud)

他们打印出来:

<module 'models' from 'C:\Users\Tine\workspace\slangen\slangen2\bolig\models.pyc'>

models
Run Code Online (Sandbox Code Playgroud)

manage.py包含在bolig文件夹中.我认为正确的应用标签将是"bolig".该应用程序几个月前就已经运行了,现在,当我回到它时,有些事情是不对的.我一直在PyDev中创建其他项目.

django-models

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