小编Jia*_*aro的帖子

用python编写Mercurial脚本

我试图在python中以编程方式获取mercurial修订号/ id(它是一个哈希而不是一个数字).

原因是我想将它添加到我们网站上的css/js文件中,如下所示:

<link rel="stylesheet" href="example.css?{% mercurial_revision "example.css" %}" />
Run Code Online (Sandbox Code Playgroud)

因此,无论何时对样式表进行更改,它都将获得新的URL并且不再使用旧的缓存版本.

或者如果你知道在哪里可以找到mercurial python模块的好文档,那也会有所帮助.我似乎无法在任何地方找到它.

我的解决方案

我最终使用子进程来运行获取hg节点的命令.我选择这个解决方案是因为api不能保证保持不变,但是bash接口可能会:

import subprocess

def get_hg_rev(file_path):
    pipe = subprocess.Popen(
        ["hg", "log", "-l", "1", "--template", "{node}", file_path],
        stdout=subprocess.PIPE
        )
    return pipe.stdout.read()
Run Code Online (Sandbox Code Playgroud)

示例使用:

> path_to_file = "/home/jim/workspace/lgr/pinax/projects/lgr/site_media/base.css"
> get_hg_rev(path_to_file)
'0ed525cf38a7b7f4f1321763d964a39327db97c4'
Run Code Online (Sandbox Code Playgroud)

python mercurial revision

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

Netsuite的困境:在任何地方都有不错的参考吗?

我希望这个问题不是太晦涩的交叉手指

我正在为netsuite脚本和api 寻找一个不错的参考(两者都基于ASP)

有谁知道在哪里找到这些东西?netsuite帮助页面充其量只是平庸,论坛不是很活跃.(我想这两件事情已经很糟糕了,但值得一试吗?)

api reference netsuite

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

如何使用Python distutils?

我在python中编写了一个快速程序,为一个cli程序添加一个gtk GUI.我想知道如何使用distutils创建安装程序.因为它只是一个命令行应用程序的GUI前端,所以它只适用于*nix,所以我并不担心它是跨平台的.

我的主要目标是为debian/ubuntu用户创建一个.deb包,但我不懂make/configure文件.到目前为止,我主要是一名网络开发人员.

编辑:有没有人知道一个使用distutils的项目,所以我可以看到它在行动,你知道,实际上尝试构建它?

这里有一些有用的链接

python linux installer debian distutils

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

如何在不发送信号的情况下保存模型?

如何保存模型,以便不发送信号.(post_save和pre_save)

python django django-models

23
推荐指数
3
解决办法
5084
查看次数

在IE中填充文本输入...可能吗?

我有一个文本输入,搜索按钮绝对位于它...为按钮腾出空间我使用了一些填充来保持文本不在按钮下,这很好,它适用于Firefox,但不适用于IE.

实际上......在IE中,文本输入上的填充似乎不起作用.

他们有以下代码


<style type="text/css">
#mainPageSearch input {
    width: 162px;
    padding: 2px 20px 2px 2px;
    margin: 0;
    font-size: 12px;
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    background:#F3F3F3 url(form-shadow.png) repeat-x scroll left top;
    border-color:#C6C6C6 #C6C6C6 #E3E3E3;
    border-style:solid;
    border-width:1px;
    color:#666666;
}
#mainPageSearch {
    margin-bottom: 10px;
    position: relative; /* Lets me absolute position the button */
}
#mainPageSearchButton {
    display: block;
    position: absolute;
    top:0px;
    right: -2px;
    text-indent: -2000em;
    height: 22px;
    width: 22px;
    background: transparent url('images/searchBtn.png') top center no-repeat;
}
</style>


<form id="mainPageSearch" action="">
    <input type="text"/>
    <a …
Run Code Online (Sandbox Code Playgroud)

html internet-explorer padding textinput

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

django发送和接收电子邮件?

我对django的电子邮件发送能力非常熟悉,但我从未见过有关它接收和处理来自用户的电子邮件的任何信息.这个功能可用吗?

一些谷歌搜索没有出现非常有希望的结果.虽然我找到了这个:在python中接收和发送电子邮件

我是否必须自己动手?如果是这样,我会比你说的更快地发布那个应用程序......不管你说什么.

谢谢,吉姆

更新:我不是要创建一个电子邮件服务器,我只需要添加一些功能,您可以将图像通过电子邮件发送到网站并将其弹出到您的帐户中.

python email django pop3 django-email

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

加速django中的第一页加载

当我更新我的网站上的代码时,我(自然地)重启我的apache实例,以便更改生效.

不幸的是,每个apache实例所服务的第一个页面非常慢,而它首次将所有内容加载到RAM中(此特定站点为5-7秒).

后续请求只需0.5到1.5秒,所以我想为我的用户消除这种影响.

是否有更好的方法将所有内容加载到RAM而不是执行wget x次(其中x是我的http.conf中ServerLimit定义的apache实例的数量)

编写一个重新启动apache并运行wget 5次的重启脚本对我来说似乎有些不好意思.

谢谢!

python django performance mod-wsgi pageload

22
推荐指数
1
解决办法
4865
查看次数

将Perl翻译为Python

我在将SQLite数据库迁移到mysql时发现了这个Perl脚本

我想知道(因为我不知道Perl)如何在Python中重写这个?

最短(代码)答案的奖励积分:)

编辑:对不起我的意思是最短的代码,而不是严格的最短答案

#! /usr/bin/perl

while ($line = <>){
    if (($line !~  /BEGIN TRANSACTION/) && ($line !~ /COMMIT/) && ($line !~ /sqlite_sequence/) && ($line !~ /CREATE UNIQUE INDEX/)){

        if ($line =~ /CREATE TABLE \"([a-z_]*)\"(.*)/){
                $name = $1;
                $sub = $2;
                $sub =~ s/\"//g; #"
                $line = "DROP TABLE IF EXISTS $name;\nCREATE TABLE IF NOT EXISTS $name$sub\n";
        }
        elsif ($line =~ /INSERT INTO \"([a-z_]*)\"(.*)/){
                $line = "INSERT INTO $1$2\n";
                $line =~ s/\"/\\\"/g; #"
                $line =~ s/\"/\'/g; #" …
Run Code Online (Sandbox Code Playgroud)

python perl rewrite

21
推荐指数
4
解决办法
1万
查看次数

Django模板无法看到CSS文件

我正在构建一个django应用程序,我无法获取模板以查看CSS文件...我的settings.py文件如下所示:

MEDIA_ROOT = os.path.join(os.path.abspath(os.path.dirname(__file__)), 'media')
MEDIA_URL = '/media/'
Run Code Online (Sandbox Code Playgroud)

我在/ mysite/media/css /中有CSS文件,模板代码包含:

<link rel="stylesheet" type="text/css" href="/media/css/site_base.css" />`
Run Code Online (Sandbox Code Playgroud)

然后,在我的url.py文件中:

# DEVELOPMENT ONLY
(r'^media/(?P<path>.*)$', 'django.views.static.serve',
    {'document_root': '/media'}),
Run Code Online (Sandbox Code Playgroud)

但是开发服务器提供普通的html(没有样式).我究竟做错了什么?

-

好的 - 我根据你们所说的话让它发挥作用.答案是:

settings.py:

MEDIA_ROOT = 'd://web//mysite//media//'  #absolute path to media
MEDIA_URL = '/mymedia/' #because admin already using /media
Run Code Online (Sandbox Code Playgroud)

site_base.html:

<link rel="stylesheet" type="text/css" href="/mymedia/css/site_base.css" />
Run Code Online (Sandbox Code Playgroud)

urls.py

from mysite import settings
if settings.DEBUG:
    urlpatterns += patterns('',
        (r'^mymedia/(?P<path>.*)$', 'django.views.static.serve',  
         {'document_root':     settings.MEDIA_ROOT}),
    )
Run Code Online (Sandbox Code Playgroud)

瞧!有用.

css python django django-templates

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

可以使用Django表单输入可变数量的输入?

是否可以使用django表单拥有可变数量的字段?

具体应用如下:

用户可以在图像上载表单上上载任意数量的图片.上传图片后,他们会被带到一个页面,在那里他们可以给图片命名和描述.图片数量取决于用户选择上传的数量.

那么如何让django使用可变数量的输入字段生成表单(如果需要可以作为参数传递)?

编辑:自从杰夫鲍尔的回答中提到那篇文章以来,有些事情发生了变化.

即这行代码似乎不起作用:

# BAD CODE DO NOT USE!!!
return type('ContactForm', [forms.BaseForm], { 'base_fields': fields })
Run Code Online (Sandbox Code Playgroud)

所以这就是我想出来的......

我用的答案:


from tagging.forms import TagField
from django import forms

def make_tagPhotos_form(photoIdList):
    "Expects a LIST of photo objects (ie. photo_sharing.models.photo)"

    fields = {}

    for id in photoIdList:
        id = str(id)

        fields[id+'_name'] = forms.CharField()
        fields[id+'_tags'] = TagField()
        fields[id+'_description'] = forms.CharField(widget=forms.Textarea)

    return type('tagPhotos', (forms.BaseForm,), { 'base_fields': fields })

Run Code Online (Sandbox Code Playgroud)

note标记不是django的一部分,但它是免费的,非常有用.看看:django-tagging

python django django-forms

18
推荐指数
3
解决办法
9797
查看次数