小编Dar*_*ech的帖子

Python找到两个列表的最小值和最大值

我有两个列表,如:

l_one = [2,5,7,9,3]
l_two = [4,6,9,11,4]
Run Code Online (Sandbox Code Playgroud)

...我需要找到两个列表中的最小值和最大值.也就是说,我想生成一个最小值和一个最大值.

我的问题是 - 实现这一目标的最pythonic方式是什么?

任何帮助非常感谢.

python list

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

从需求中使用pip install丢失分发规范错误

我刚刚创建了一个新的virtualenv,我想运行我的pip install.但是,我收到此错误:

raise ValueError("Missing distribution spec", line)
ValueError: ('Missing distribution spec', '/path/to/dir/requirements.txt')
Run Code Online (Sandbox Code Playgroud)

我的requirements.txt:

Django==1.3
Jinja2==2.6
MySQL-python==1.2.3
PIL==1.1.7
Pygments==1.5
Sphinx==1.1.3
Werkzeug==0.8.3
django-debug-toolbar==0.9.4
django-excel-response==1.0
django-extensions==0.8
docutils==0.9.1
ipython==0.12
wsgiref==0.1.2
Run Code Online (Sandbox Code Playgroud)

出了什么问题?

django pip virtualenv

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

AngularJS UI路由器处理404s

我有一个应用程序,其中包含我的API调用的服务:

var ConcernService = {
    ...
    get: function (items_url, objId) {
        var defer = $q.defer();
        $http({method: 'GET', 
            url: api_url + items_url + objId}).
            success(function (data, status, headers, config) {
                defer.resolve(data);
            }).error(function (data, status, headers, config) {
                console.log('ConcernService.get status',status);
                defer.reject(status);
            });
        return defer.promise;
    },
Run Code Online (Sandbox Code Playgroud)

我正在使用UI-Router在状态之间转换:

concernsApp

    .config( function ($stateProvider, $urlRouterProvider) {

        $urlRouterProvider.otherwise("/404/");


        $stateProvider.state('project', {
        url: '/project/:projectId/',
        resolve: {
            project: function ($stateParams, ConcernService) {
                return ConcernService.get('projects/', $stateParams.projectId);
            },
        },
        views: {
            ...
        }
    });
Run Code Online (Sandbox Code Playgroud)

我正在使用普通的AngularJS路由器,我很难理解如何实现404s.我可以看到ConcernService抛弃console.log状态被拒绝,但我如何在状态路由器中捕获它?

angularjs angular-ui-router

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

嵌套循环中的Django模板计数器

嗨,我有一个两个字典的列表,我将传递给Django模板:

base_parts = [
    {'important item': 43},
    {'lesser item': 22, 'lesser item': 3, 'lesser item': 45}
]
Run Code Online (Sandbox Code Playgroud)

在我的模板中,我可以这样做:

{% for base_part in base_parts %}
    {% for k, v in base_part.items %}

    {# ...do stuff #}

    {# I try to get a running total of items to use as an ID #}
    inner ID: {% forloop.counter0 %}< br/>
    outer ID: {% forloop.parentloop.counter0 %}< br/>

    {% endfor %}
{% endfor %}
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,我想要的是我迭代完成的项目总数的运行总计,但我包含的两种方法都包含返回重复项.我知道我可以连接循环,但我使用的是一个formset,并且真的希望id被索引为0,1,2 ......等等.

有没有办法在模板中实现这种类型的计数?

任何帮助非常感谢.

编辑

目前的输出看起来像:

outerID: 0<br />
innerID: 0<br …
Run Code Online (Sandbox Code Playgroud)

django django-templates

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

Django使用匿名用户保存模型

我有一个Django模型:

class Project(models.Model):
    user = models.ForeignKey(User)
    zipcode = models.CharField(max_length=5)
    module = models.ForeignKey(Module)
Run Code Online (Sandbox Code Playgroud)

在我的views.py中:

def my_view(request):  
    ...
    project = Project.objects.create(
                  user=request.user,
                  product=product_instance,
                  ...
              )
    project.save()
Run Code Online (Sandbox Code Playgroud)

我希望能够将用户保存为经过身份验证的用户或AnonymousUser(我稍后可以更新).但是,如果我没有登录,我会收到此错误:

ValueError: Cannot assign "<django.utils.functional.SimpleLazyObject object at 0x1b498d0>": "Project.user" must be a "User" instance.
Run Code Online (Sandbox Code Playgroud)

我猜Django不会保存,AnonymousUser因为它不是User模型中定义的User .我是否需要将匿名用户添加到User模型中,或者我错过了什么?

任何协助非常感谢.

django django-models django-views django-authentication

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

Django指望多对多

我有模特:

class Article(models.Model):
    title = models.TextField(blank=True)
    keywords = models.ManyToManyField(Keyword, null=True, blank=True)

class Keyword(models.Model):
    keyword = models.CharField(max_length=355, blank=True)
Run Code Online (Sandbox Code Playgroud)

我想知道每个关键字有多少篇文章.从本质上讲,我希望有一个关键字列表,我可以在每个关键字中计算它们的相对权重.

我试过了:

keyword_list=Article.objects.all().annotate(key_count=Count('keywords__keyword'))
Run Code Online (Sandbox Code Playgroud)

keyword_list[0].key_count    
Run Code Online (Sandbox Code Playgroud)

只是似乎给了我每篇文章不同关键词的数量?它是以某种方式反向查找?

任何帮助将非常感激.

UPDATE

所以我得到了它的工作:

def keyword_list(request):
    MAX_WEIGHT = 5
    keywords = Keyword.objects.order_by('keyword')
    for keyword in keywords:
        keyword.count =  Article.objects.filter(keywords=keyword).count()
    min_count = max_count = keywords[0].count
    for keyword in keywords:
        if keyword.count < min_count:
            min_count = keyword.count
        if max_count > keyword.count:
            max_count = keyword.count 
    range = float(max_count - min_count)
    if range == 0.0:
        range = 1.0 
    for keyword …
Run Code Online (Sandbox Code Playgroud)

django django-orm

11
推荐指数
2
解决办法
7783
查看次数

Django开发服务器破管错误

运行我的django项目时,我在开发服务器中遇到这个奇怪的错误:

Traceback (most recent call last):
  File "/home/sam/django-projects/datazone/local/lib/python2.7/site-packages/django/core/servers/basehttp.py", line 284, in run
    self.finish_response()
  File "/home/sam/django-projects/datazone/local/lib/python2.7/site-packages/django/core/servers/basehttp.py", line 324, in finish_response
    self.write(data)
  File "/home/sam/django-projects/datazone/local/lib/python2.7/site-packages/django/core/servers/basehttp.py", line 403, in write
    self.send_headers()
  File "/home/sam/django-projects/datazone/local/lib/python2.7/site-packages/django/core/servers/basehttp.py", line 467, in send_headers
    self.send_preamble()
  File "/home/sam/django-projects/datazone/local/lib/python2.7/site-packages/django/core/servers/basehttp.py", line 385, in send_preamble
    'Date: %s\r\n' % http_date()
  File "/usr/lib/python2.7/socket.py", line 324, in write
    self.flush()
  File "/usr/lib/python2.7/socket.py", line 303, in flush
    self._sock.sendall(view[write_offset:write_offset+buffer_size])
error: [Errno 32] Broken pipe
Run Code Online (Sandbox Code Playgroud)

有人可以为我阐明这一点吗?

django

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

Django调试工具栏设置

我刚刚安装了Django调试工具栏.它有点繁琐,虽然它正在工作,我想检查这是否是正确的方法.以下是我取得成功所需的4个步骤:

  1. easy_install django_debug_toolbar
  2. 在我的项目设置中添加'debug_toolbar.middleware.DebugToolbarMiddleware'到我的中间件类的末尾
  3. 在我的django.global_settings.py中编辑INTERNAL_IPS =('127.0.0.1')
  4. 然后我在项目设置中将"/usr/local/lib/python2.7/dist-packages/django_debug_toolbar-0.8.5-py2.7.egg/debug_toolbar/templates"添加到我的TEMPLATE_DIRS.

这主要是反复试验,所以我不确定这是怎么回事.我非常不确定第4步是否必要......

任何输入都将非常感激

python django django-debug-toolbar

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

Django强制转换为Unicode:需要字符串或缓冲区,找到datetime.date

我有一个模特:

class MyModel(models.Model):
    id = models.IntegerField(primary_key=True)
    recorded_on = models.DateField()
    precipitation = models.FloatField(null=True, blank=True)
Run Code Online (Sandbox Code Playgroud)

在我的观点中,我有一个查询:

import datetime

def my_view(request):
    ...
    format = '%Y-%m-%d' 
    sd = datetime.datetime.strptime(startdate, format)
    ed = datetime.datetime.strptime(enddate, format)
    queryset = MyModel.objects.filter((recorded_on__range = (sd, ed)))
    ...
Run Code Online (Sandbox Code Playgroud)

但每当我尝试对查询集做任何事情时(例如json dump,在模板中显示),我都会收到以下错误:

    coercing to Unicode: need string or buffer, datetime.date found
Run Code Online (Sandbox Code Playgroud)

我知道必须有一个简单的方法来解决这个问题,但我还没有找到它.

任何帮助将非常感激.

编辑:

数据示例:

+----+-------------+---------------+
| id | recorded_on | precipitation |
+----+-------------+---------------+
| 24 | 1987-07-02  |          20.7 |
| 33 | 1987-07-11  |           0.4 |
+----+-------------+---------------+
Run Code Online (Sandbox Code Playgroud)

django unicode datetime

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

django会话密钥在认证时改变

我有一个Django应用程序,它记录用户对两个经过身份验证的用户的产品选择.我的意图是使用request.session.session_key变量将匿名数据与用户相关联,如果他们决定稍后注册,这篇文章:

Django存储匿名用户数据

但是,当用户登录/注册时,会话密钥似乎会发生变化,因此会话密钥不再与用户关联.这是Django会话框架的正确行为吗?有没有可靠的方法来实现我正在寻找的功能?

任何帮助非常感谢.

django django-admin django-views

10
推荐指数
2
解决办法
1792
查看次数