小编Dmi*_*kov的帖子

在Django admin中按自定义日期范围过滤

可以通过自定义日期范围,即用两个Django管理站点选择项DateFieldsAdminDateWidget?我知道有date_hierarchylist_filter属性,但是当有很多数据库条目并且你只需要按精确date__gtedate__lte查询过滤项目时它们似乎不是很有用.

django date filter django-admin

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

在Django中以用户名发送电子邮件

好吧,对于每个使用Django并经常被新手询问的人来说,这个很明显,但是我想说清楚并讨论是否有其他方法可以做到这一点.现在最流行和最方便的方法是在用户名字段中存储电子邮件,因为Django 1.2允许"@","_"和" - "字符,但这种方式存在以下问题:

  1. 最糟糕的一个:用户名字段受max_length=30属性限制,对于电子邮件来说这是非常小的.即使你重写表单验证,DB将有varchar(30)代替EmailFieldvarchar(75),除非你手动改变你的表.
  2. 您需要将用户名和电子邮件字段中的电子邮件数据存储起来才能User.email_user()正常工作.我认为在User.email使用时还有其他一些地方.
  3. 代码可读性失败.当然,其他djangonauts知道这个陷阱,但处理字段称为"用户名"(特别是当仍有电子邮件字段时),因为电子邮件显然使您的代码不易理解.

另一种方法可能是使用email字段进行身份验证,将其传递给您的身份验证后端,但它仍然存在问题:

authenticate(self, email=None, password=None)
Run Code Online (Sandbox Code Playgroud)
  1. User.email没有unique=True属性,这意味着你的数据库不会有索引,使你的电子邮件查找速度变得很慢.
  2. 你必须处理username字段,它unique=True通过从表中完全删除它或改变它以允许NULL并删除索引.

恢复,两种方式都是邪恶的,并且需要在syncdb之后执行特定于DB的代码,如果您需要与DB无关的应用程序,这是不可接受的.

email authentication django

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

模拟SSH服务器以进行测试

我必须为通过SSH上传文件的部署脚本编写测试,但我想让它不依赖于外部服务器配置.这就是我的看法:

  1. 在Loopback接口的不同端口上创建2个没有认证的SSH守护进程.
  2. 在这两个端口上运行部署脚本

唯一的问题是如何运行这些虚拟SSH守护进程.

我使用Python和Fabric.

python testing deployment ssh fabric

9
推荐指数
1
解决办法
4055
查看次数

下载部署的GAE应用程序的源代码

如果我在硬盘上丢失了源代码,我可以下载已部署应用程序的源代码吗?我查看了应用程序仪表板,但找不到任何选项来检查它.

google-app-engine

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

需要Django formsets

如何制作django formset中的所有表单?我试图在cleaned_data覆盖formset的clean()方法中验证所有字段的存在,但它只是静默失败而没有显示任何错误.

谢谢!

源代码:

class BaseScheduleForm(forms.ModelForm):

    def __init__(self, *args, **kwargs):
        super(BaseScheduleForm, self).__init__(*args, **kwargs)
        self.fields['day'].widget = forms.HiddenInput()
        self.fields['user'].widget = forms.HiddenInput()

    class Meta:
        model = Schedule

    def clean_end_time(self):
        start_time = self.cleaned_data.get('start_time')
        end_time = self.cleaned_data['end_time']

        if start_time and end_time:
            if end_time <= start_time:
                raise forms.ValidationError("End time must be later that start time.")
        return end_time

class BaseScheduleFormset(forms.models.BaseModelFormSet):

    def __init__(self, *args, **kwargs):
        super(BaseScheduleFormset, self).__init__(*args, **kwargs)
        for number, weekday in enumerate(WEEKDAYS):
            self.forms[number].day_name = weekday[1]

    def clean(self):
        raise forms.ValidationError('You must specify schedule for the whole …
Run Code Online (Sandbox Code Playgroud)

python forms django formset

5
推荐指数
0
解决办法
1136
查看次数

Javascript点击元素

有一个半透明覆盖div覆盖文档,它会在点击时破坏,但我需要以某种方式同时触发覆盖下的元素的onlick事件.有没有办法点击JS的特定坐标,或者可能确定具有绝对x和y位置的底层元素?谢谢.

html javascript css jquery

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

Python:如何在字符串中查找每个列表项的存在

什么是['spam', 'eggs']在路径中找到每个目录名称存在的最pythonic方式,例如"/home/user/spam/eggs"

用法示例(不起作用,但解释了我的情况):

dirs = ['spam', 'eggs']
path = "/home/user/spam/eggs"
if path.find(dirs):
    print "All dirs are present in the path"
Run Code Online (Sandbox Code Playgroud)

谢谢

python list path

3
推荐指数
2
解决办法
947
查看次数

阻止jQuery调用下一个事件

我第一次写了一个jQuery插件,我想知道是否有办法阻止jQuery运行下一个附加事件.

例:

$(this).submit(function(){
    return $(this).do_some_validation();
}
Run Code Online (Sandbox Code Playgroud)

如果验证没有通过(即返回函数false),则不应提交表单,但如果附加了任何其他事件处理程序,则只有最后一个处理程序返回值可以阻止表单被提交.

javascript jquery events submit

3
推荐指数
2
解决办法
6453
查看次数

ANSI C:如何通过换行拆分字符串并获取随机行

我是C的新手并且遇到了subj.我可以拆分字符串,strtok但我不知道如何获得随机令牌.

谢谢.

c string random strtok

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