小编Lar*_*ell的帖子

添加到django管理页面的链接

我的客户端有一个用django构建的应用程序.在他们的应用程序的每个页面上都有一个指向其管理站点的链接 他们告诉我管理站点完全由django生成,他们以前从未定制过.在管理页面的第一行,它说:

Django administration          Welcome, admin. Change password / Log out

他们希望我在"Django管理"的左侧添加一个指向该行的链接,当他们点击链接将他们带到管理站点时,会将他们带回到他们所在的页面.

所以我在这里有2个问题:

  1. 如何覆盖该行以添加链接?该页面似乎是由contrib/admin/templates/admin/base.html生成的,我尝试按照https://docs.djangoproject.com/en/1.2/ref/contrib/admin/上的说明覆盖它 #overriding-a ...,但无论我做什么似乎都没有效果.

  2. 如何获取他们来自的应用页面的链接?这不仅仅是回到一个页面,因为他们可以在点击"返回应用程序"链接之前在管理站点的各个位置进行导航.

python django django-admin

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

django 1.7中的自定义密码验证

我正在尝试向创建用户添加自定义密码验证并更改密码管理表单.我没有在django文档中看到有关如何执行此操作的任何内容.我在SO上发现了这篇文章:使用django.contrib.auth.views.password_change强制执行密码强度要求,它提供了2个解决方案.我试过了两个,但都没有为我工作.

这是我现在在我的应用程序admin.py中的内容:

def validate_password_strength(value):
    """Validates that a password is as least 10 characters long and has at least
    2 digits and 1 Upper case letter.
    """
    min_length = 10

    if len(value) < min_length:
        raise ValidationError(_('Password must be at least {0} characters '
                                'long.').format(min_length))

    # check for 2 digits
    if sum(c.isdigit() for c in value) < 2:
        raise ValidationError(_('Password must container at least 2 digits.'))

    # check for uppercase letter
    if not any(c.isupper() for c in value):
        raise ValidationError(_('Password …
Run Code Online (Sandbox Code Playgroud)

django django-admin django-authentication

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

使用sqlalchemy结果集进行更新

这里真的有两个问题.

如果我像这样运行sqlalchemy查询:

sensors = session.query(Sensor).filter(Sensor.serial_number.in_(data['sensor_serial_numbers'])).all()
Run Code Online (Sandbox Code Playgroud)

然后,我可以使用结果集(传感器)更新所有这些行中的列吗?我无法弄清楚它的语法,所以我尝试这样做:

session.query(Sensor).filter(Sensor.serial_number.in_(data['sensor_serial_numbers'])).update({'system_id': system.id})
Run Code Online (Sandbox Code Playgroud)

但是,在sqlalchemy的碗里,这种情况失败了:

  File "/home/ecovent/pyenv0.3/local/lib/python2.7/site-packages/sqlalchemy/orm/persistence.py", line 949, in _do_pre_synchronize
    "Could not evaluate current criteria in Python. "
InvalidRequestError: Could not evaluate current criteria in Python. Specify 'fetch' or False for the synchronize_session parameter.
Run Code Online (Sandbox Code Playgroud)

我认为这必须是因为in_子句,因为我在使用相同的构造之前已经完成了更新,但它们没有in_子句.如何用in_做这样的更新?

python sqlalchemy

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

R 3.6在Debian上

我需要在debian Stretch上运行3.6-我按照此处的说明进行操作:

https://cran.r-project.org/bin/linux/debian/

并使用了这个仓库:

http://lib.stat.cmu.edu/R/CRAN/bin/linux/debian Stretch-cran35 /

我能够安装它。但是我需要的2个软件包r-cran-caret和r-cran-ggplot2无法安装:

# apt-get install r-cran-ggplot2
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 r-cran-ggplot2 : Depends: …
Run Code Online (Sandbox Code Playgroud)

r debian-stretch

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

本地找不到图片

我有一个码头工人形象:

$ docker image ls
REPOSITORY             TAG                 IMAGE ID            CREATED              SIZE
elucidbio/capcompute   local               a5ed348be9f8        About a minute ago   2.27GB
Run Code Online (Sandbox Code Playgroud)

但是当我尝试启动它时,它失败了:

$docker run --name capcompute elucidbio/capcompute
Unable to find image 'elucidbio/capcompute:latest' locally
docker: Error response from daemon: repository elucidbio/capcompute not found: does not exist or no pull access.
Run Code Online (Sandbox Code Playgroud)

我在这里错过了什么愚蠢的事情?

docker

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

django:将所有列作为列表

这可能很简单,但我就是不知道如何去做。

我想将某些行中的所有列作为列表。我知道我可以使用 values_list 和 flat=True 并列出所有列,但这是唯一的方法吗?

我想做这样的事情:

rows = FOO.objects.filter(bar='baz')
Run Code Online (Sandbox Code Playgroud)

并获取列表列表而不是 FOO 对象列表。

django

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

Docker:无法纠正问题,您持有损坏的软件包

我有 Dockerfile,我已经使用过很多次了,没有出现任何问题。现在我需要向其中添加一些包(ssmtp 和 sendmail),当我添加它们时,构建失败并显示:

Sending build context to Docker daemon 645.3 MB
Sending build context to Docker daemon 
Step 0 : FROM debian:jessie
 ---> 736e5442e772
Step 1 : MAINTAINER Larry Martell <larry.martell@foo.com>
 ---> Using cache
 ---> bd272aa26940
Step 2 : ENV HOME /opt/django/CAPgraph/
 ---> Using cache
 ---> 1c540ed91808
Step 3 : RUN echo "deb http://http.debian.net/debian jessie-backports main" >> /etc/apt/sources.list
 ---> Using cache
 ---> 8788d48e625d
Step 4 : RUN (apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y build-essential git python python-dev python-setuptools …
Run Code Online (Sandbox Code Playgroud)

debian docker dockerfile docker-build

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

如何在javascript中等待元素被定义?

我需要在 javascript 中执行与此等效的操作:

while (typeof someObject == 'undefined') {
     sleep(10);  // 10ms
}
Run Code Online (Sandbox Code Playgroud)

我只是不太清楚如何编写这个代码。

我有这个:

function sleep(ms, callback, arg) {
    setTimeout(function() {
        callback(arg);
    }, ms);
}

function waitForDef(elem) {
    if (typeof elem == 'undefined') {
        sleep(10, waitForDef, elem);
    }
}
Run Code Online (Sandbox Code Playgroud)

但我不清楚如何从我的代码中使用它。

javascript

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

覆盖单个模型或应用的submit_line.html

我想为单个模型或单个应用程序覆盖commit_line.html(两者都可以工作-该应用程序只有一个模型)。我在文档中看到我无法做到这一点(https://docs.djangoproject.com/en/1.5/ref/contrib/admin/#templates-which-may-be-overridden-per-app-or-model

有什么方法可以测试模板需要调用哪种模型或应用程序,以便我可以添加一些条件行为?也许有某种方法可以为特定的应用程序或模型使用不同的模板来代替commit_line.html?

mishbah的答案解决了我的第一个问题,但是现在我面临另一个问题-完成我的代码后,将运行一些添加行的事情。我不希望那样发生。

这是我要完成的工作:

  1. 用户点击添加按钮
  2. 使用我的自定义按钮显示添加对象页面
  3. 单击我的按钮后,我将执行ajax调用并在add div下面显示结果,直到用户单击按钮,此页面才会显示。

所有这些都有效-我唯一的问题是将行添加到数据库中-我想以某种方式防止这种情况的发生。

这是我的代码:

在主管理页面上,我只有添加按钮:

在此处输入图片说明

这是我的change_form.html:

{% extends "admin/change_form.html" %}

{% block submit_buttons_bottom %}

<style type="text/css">
    #id_tool_configuration {
        white-space: pre-wrap;
    }   
</style>

<div class="submit-row">
    <input value="Configure" class="default" name="configure" onclick="configureTools(document.getElementById('id_tool_configuration').value); " />
</div>

<script src="/static/scripts/jquery-1.7.js" type="text/javascript"></script>

<script type="text/javascript">
    function configureTools(tcd) {
        var toolConfigData = tcd;
        var request = new XMLHttpRequest();
        var params = 'toolConfigData='+encodeURIComponent(toolConfigData);
        request.open('GET', '{% url 'motor.configuration.views.configure' %}?'+params);
        request.setRequestHeader("Content-type", "text/plain; charset=utf-8");

        request.onreadystatechange = function() {
            if (request.readyState == 4) {
                if (request.status …
Run Code Online (Sandbox Code Playgroud)

django ajax django-admin

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

使用python zipfile归档符号链接

我有一个脚本,可以创建包含符号链接的目录的zip文件。我惊讶地发现zipfile压缩了链接的目标,而不是链接本身,这是我想要和期望的。有人知道如何获取zipfile来压缩链接吗?

python zipfile python-2.7

4
推荐指数
3
解决办法
1752
查看次数