小编tho*_*mad的帖子

从函数内部创建并返回默认的ImageFieldFile

在我的用户配置模式,我想有它返回一个函数或者用户ImageFileField,如果用户还没有上传自己的对象或默认图像.

例如:

class UserProfile(models.Model):
    pic = models.ImageField('Headshot',blank=True,
                             upload_to=get_path_and_filename)

    def get_pic(self):
        if self.pic:
            return self.pic
        else:
            # return ImageFileField with a default value
Run Code Online (Sandbox Code Playgroud)

我想返回一个等价物,ImageFileField因为我有使用此对象类型的过滤器(所以我不能简单地将它传递给它一个字符串)...我试着查看源代码,但我无法弄清楚如何自己动手吧.

是否有一种简单的方法来初始化一个新ImageFileField对象,方法是将其传递给图像文件然后返回它?

PS:我曾考虑使用ImageField 的默认设置,但是,它似乎不太灵活,因为文件存储在模型创建中...如果我以后想要更改默认文件,我将不得不更新所有数据库具有旧文件的条目.

django django-models

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

Git的下一步:建立一个有凝聚力的工作流程

我是git和分布式版本控制的新手,但是在没有太多绊脚石的情况下管理init我自己的本地源,在我自己的web主机上通过ssh设置一个私有远程存储库(origin),并执行基本的pull,push从master到origin.(我甚至测试了一个克隆!)

我认为我的单向,git工作流程受到控制.然而,现在,我开始考虑如何处理开发,测试和生产之间的事情.我发现的大多数教程都谈到了不同的用户合并和克隆以及拉动和推动,但在我的情况下,它只是我,处理来自不同来源的东西.

我希望有经验的git用户可以提供一些关于我的工作流程的见解,并提供一些关于他们如何处理合并,分支等的建议(我不太熟悉/不熟悉的事情).

以下是我将拥有的不同机器/位置:

  1. 远程主git商店:ssh://git@example.com/git/myproject.git
  2. 家庭网络服务器,主要开发盒(我坐在那里,私下,并完成大部分工作)
  3. 远程Web服务器,beta测试(面向公众):http://beta.example.com(在生产之前测试我的开发工作)
  4. 远程Web服务器,生产站点:http://example.com(真实的人,希望使用该站点)
  5. (偶尔)在笔记本电脑上旅行(运行自己的本地Web服务器).

你会怎么处理这个?提前致谢.

git

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

帮助排序:首先由此,然后由此

我有一个我想要排序的元组列表,可以使用一些帮助.

我想在元组中排序的字段看起来像"XXX_YYY".首先,我想以相反的顺序对XXX值进行分组,然后,在这些组中,我想以正常的排序顺序放置YYY值.(注意:我同样高兴,实际上,以这种方式排序元组中的第二项,逆序第一个单词,正常顺序.)

以下是我拥有的以及最终想要的内容的一个例子...不知道该怎么做.

mylist = [
    (u'community_news', u'Community: News & Information'), 
    (u'kf_video', u'KF: Video'), 
    (u'community_video', u'Community: Video'), 
    (u'kf_news', u'KF: News & Information'), 
    (u'kf_magazine', u'KF: Magazine')
]
Run Code Online (Sandbox Code Playgroud)

我想sort()在此列表上执行某种将输出更改为:

sorted = [
    (u'kf_magazine', u'KF: Magazine'),
    (u'kf_news', u'KF: News & Information'), 
    (u'kf_video', u'KF: Video'), 
    (u'community_news', u'Community: News & Information'), 
    (u'community_video', u'Community: Video'), 
]
Run Code Online (Sandbox Code Playgroud)

我怀疑可能有一种pythonic方式来处理这个问题,但我无法绕过它.

python sorting

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

在Excel VBA中过滤2D数组

使用Excel和VBA,我想要一些关于如何最好地使用VBA过滤数组中的数据(与人们可能使用数据透视表的方式相同)的建议.我正在创建一个UserForm,它将根据当前存在的数据做出一些数据决策.我可以想象如何做得好,但我不熟悉VBA编程.

这是一个例子

A       B       C
bob     12      Small
sam     16      Large
sally   1346    Large
sam     13      Small
sally   65      Medium
bob     1       Medium
Run Code Online (Sandbox Code Playgroud)

要获取数组中的数据,我可以使用

Dim my_array As Variant

my_array = Range("A1").CurrentRegion
Run Code Online (Sandbox Code Playgroud)

现在,我熟悉循环2D数组,但我想知道:过滤二维数组数据的最有效方法是什么(没有时间循环遍历数组)?

例如,我如何得到这样的数据:

data_for_sally As Variant 'rows with sally as name in ColA
data_for_sally_less_than_ten As Variant ' all rows with sally's name in ColA and colB < 10
data_for_all_mediums as Variant ' all rows where ColC is Medium
Run Code Online (Sandbox Code Playgroud)

建议?我可以使用一堆自定义函数和循环来解决这个问题,但我认为必须有更好的方法.谢谢.

arrays excel vba filter multidimensional-array

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

Django:模型更新时表单值不更新

我正在创建一个使用MultipleChoiceField的表单.此字段的值派生自另一个模型.这种方法工作正常,但是,我注意到(在生产服务器上)当我向相关模型添加新项目(NoticeType)时,表单不会动态更新.我必须重新启动服务器才能在我的MultipleChoiceField上显示新项目.

对NoticeType模型的任何更改(编辑项目或创建新项目)都不会传播到表单.重新启动生产服务器后,将显示更新.

任何想法为什么会这样?表格的相关部分如下.谢谢.

from django import forms 
from django.contrib.auth.models import User
from notification.models import NoticeType

class EditUserProfileForm(forms.Form):   
    CHOICES = []

    for notice in NoticeType.objects.all():
        CHOICES.append( (notice.label,notice.display) )

    notifications   = forms.MultipleChoiceField(
                        label="Email Notifications",
                        required=False,
                        choices=( CHOICES ),
                        widget=forms.CheckboxSelectMultiple,)
Run Code Online (Sandbox Code Playgroud)

python django django-forms

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

在 Django App 的控制台输出中显示警告

我想向旧的基于函数的视图添加警告,提醒用户我们正在转向基于类的视图。我一直在 Django 中看到这些警告,例如RemovedInDjango19Warning. 这个真的很酷。

def old_view(request, *args, **kwargs):
    print('I can see this message in my terminal output!')
    warnings.warn("But not this message.", DeprecationWarning, stacklevel=2)
    view = NewClassBasedView.as_view()
    return view(request, *args, **kwargs)
Run Code Online (Sandbox Code Playgroud)

print在终端输出中看到了语句,但没有看到警告本身。我在终端中收到来自 Django 的其他警告(如上述RemovedInDjango19Warning但不是这个。

我错过了什么吗?我是否必须在导入特定级别以某种方式打开警告(即使它广泛适用于 Django)?

python django warnings

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

带有 Heroku 登台环境的 Rails 加密凭证(使用生产设置)

Heroku建议 不要使用名为staging;的自定义环境。相反,他们建议使用production环境但使用一组不同的ENV变量。这是有道理的(见这个问题)。

但是,我想知道如何将这种做法与Rails 6 加密凭据功能集成。加密凭证确实支持多种环境,因此我们可以将我们的凭证developmentproduction凭证分开;但是,使用 Heroku 的建议意味着production凭据将在实际生产服务器和实际登台服务器之间共享。我不想要的。

我想要的是staging服务器developmentproduction环境中使用凭据!

保持所有不同的凭据上传并保持最新(在生产、暂存和我们所有的开发人员之间)是一个麻烦,加密文件似乎是一个急需的改进;我只是无法弄清楚如何分阶段使用非生产凭证。


PS:也许可以根据 Heroku 中设置的环境变量覆盖config.credentials.content_path 每个文档,该变量指示是使用生产凭据还是开发凭据。好奇其他人正在做什么或可能做什么。

ruby-on-rails credentials heroku ruby-on-rails-6

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

将两个带有动态行标题的交叉表合并为一个

使用MS Access我有两个交叉表查询汇总我的数据.一个按位置和财政季度获得数据行总数; 另一个查询得到符合地点和财政季度标准的百分比.

以下示例(为了问题,它们被简化).

qryA:原始汇总表

Location    Period      CountIt    
Blue        FY13-Q3     Yes
Orange      FY13-Q1     No
Blue        FY14-Q1     No
Orange      FY13-Q1     Yes
Run Code Online (Sandbox Code Playgroud)

然后我有一个交叉表,它YesCountIt列中获取值的百分比,另一个显示每个财务季度的总计数.

交叉号#1 - 百分比

TRANSFORM Sum(IIf(qryA.CountIt Like "Yes",1,0))/Count(qryA.CountIt) AS PercentYes
SELECT qryA.[Location]
FROM qryA
GROUP BY qryA.[Location]
PIVOT qryA.[Period];

## Crosstab Output
Location    FY13-Q1 FY13-Q2 FY13-Q3 FY13-Q4 FY14-Q1
Blue        12%     15%     13.2%   19%     15%
Orange      9%      12%     1%      18%     12%
Run Code Online (Sandbox Code Playgroud)

交叉剑#2 - 算一算吧

TRANSFORM Count(qryA.CountIt) AS FiscalCount
SELECT qryA.[Location]
FROM qryA
GROUP BY qryA.[Location]
PIVOT qryA.[Period]; …
Run Code Online (Sandbox Code Playgroud)

sql union ms-access crosstab

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

在jQuery中查找克隆元素的子元素

我不知道为什么我会坚持这个,但我是!尝试克隆a div然后使用childrenjQuery 修改其内容.我在这里遗漏了一些东西,因为它没有像我期望的那样工作.请参阅小提琴:http://jsfiddle.net/v7A2T/

Javascript(jQuery):

$test = $('#clone-container').clone().appendTo('#append');
$test.children('h2').text('my clone');  // works
$test.children('.remove-row').remove(); // doesn't work
Run Code Online (Sandbox Code Playgroud)

和HTML:

<div id="clone-container" class="hidden">
    <h2>Location name</h2>
    <div class="table-responsive">
        <table class="table">
            <thead>
                <th>one</th><th>two</th><th>three</th>
                <th>four</th><th>five</th><th>six</th>
            </thead>
            <tbody>
                <tr class="remove-row"><td colspan="6">Remove this text from clone</td></tr>            
            </tbody>
        </table>
    </div> <!-- .table-responsive -->
</div>  
<div id="append"></div>
Run Code Online (Sandbox Code Playgroud)

javascript jquery children clone

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