小编w--*_*w--的帖子

django-registration,django.contrib.auth登录和用户"处于活动状态"标志

我正在使用django 1.1. 它说的is_active标志上的文档
http://docs.djangoproject.com/en/1.1/topics/auth/#topics-auth

这不控制用户是否可以登录.身份验证路径中没有任何内容检查is_active标志,因此如果您要拒绝基于is_active为False的登录,则由您自行登录检查视图.但是,使用has_perm()等方法进行权限检查会检查此标志,并且对于非活动用户始终返回False.

我正在使用django-registration(最新的0.8 alpha)并使用所有默认后端.django-registration的整个前提是基于is_active标志.即只有在用户激活后才会设置.但是,我可以看到当用户登录时使用的是django.contrib.auth.views.login.我可以从auth_urls.py中的代码中看到这一点.

当用户注册但尚未激活时,我希望显示一条消息,上面写着"您尚未激活帐户"的内容

目前默认行为是表单的错误消息显示"用户名和密码不匹配"

我也在我的视图中使用登录装饰器

@login_required
Run Code Online (Sandbox Code Playgroud)

我的问题是:

编辑:谢谢詹姆斯和亨利.我不认为我一直很善于描述我的问题.我重做了这个.

  1. django文档说,当用户登录时,is_active不会被用作决定因素.显然情况并非如此.亲自尝试一下.我无法弄清楚代码中发生了什么.有人知道吗?据我所见,它不会发生在django-registration和django.contrib.auth中.
  2. 为了显示我上面描述的错误信息,对我来说最好的方法是什么?请记住我正在使用django-registration,所以很多管道已经完成了.我宁愿不修改它或重写所有内容.如果可能的话,我正在寻找......"优雅"的解决方案.

提前致谢

关于Q1,

authentication django login django-registration

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

celery,postgresql - >配置后端

所以我只是开始使用芹菜并尝试做一些简单的测试来感受它.我试图设置芹菜使用postgres为我的后端.在这个页面上:
http://docs.celeryproject.org/en/latest/getting-started/first-steps-with-celery.html#keeping-results 我看到了这个例子

celery = Celery('tasks', backend='redis://localhost', broker='amqp://')
Run Code Online (Sandbox Code Playgroud)

所以在我的代码中我试试

celery = Celery('tasks', 
               backend='sqla+postgresql://celery_exp:celery_exp@myhost/celery_exp',
                broker='sqla+postgresql://celery_exp:celery_exp@myhost/celery_exp',)
Run Code Online (Sandbox Code Playgroud)

但是我在启动时不断收到此错误:

ImportError: No module named sqla+postgresql
Run Code Online (Sandbox Code Playgroud)

在文档中我尝试了不同的变体,例如

postgresql://  
postgresql+psycopg2://  
Run Code Online (Sandbox Code Playgroud)

我知道连接字符串是正确的,因为取出Celery构造函数中的后端参数按预期工作.
我在这做错了什么?我觉得它一定是蠢事,因为我在网上找不到任何东西.

提前致谢.

python backend celery

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

django-使datetimefield接受Unix时间戳

我想使模型的DateTimefield接受Unix时间戳(以秒为单位)值。

我找到了,但是可接受的解决方案不起作用?
DataTimeField中的unixtimestamp输入

即我不明白如何添加'%s'作为输入格式,特别是当标准datetime字段的to_python()代码不包含任何用于处理unix时间戳的逻辑时,尤其如此。

如果有一项设置可以让我做得很好。
否则,我想我想要的是子类化DateTimeField,并在设置值时以某种方式自动将int转换为datetime对象。我想在保存之前执行此操作,而不是覆盖save(),因为在检索此字段的值时我希望保持一致。即,当我取出值时,无论实例是否已保存,我都不必担心我是否有日期时间对象或整数。

我查看了django.db.models.fields的来源,但对我来说并不明显。

python django datetime unix-timestamp

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

@page和@frame需要xhtml2pdf(Pisa 3.0)css语法

我正在尝试使用xhtml2pdf(又名Pisa 3.0)和django并且遇到问题
http://www.xhtml2pdf.com/doc/pisa-en.html
很明显上面的文档谈论了可用的CSS以及供应商特定标签.

如果我按照静态帧的文档中的示例,并使CSS像

@page{
        margin:0cm;
        @frame header{
            -pdf-frame-content: header;
            height: 3cm;    
        }
        @frame footer{
            -pdf-frame-content: footer;
            bottom: 2cm;
            height: 2cm;
        }
    }

    .main_content{
        padding: 0px
    }
    #header{

        background-color: #02164c;
        font: #FFFFFF;
        width:100%;     
    }
    #footer{    
        width: 100%;            
    }
    .pageBreak{
        page-break-after: always;       
    }
Run Code Online (Sandbox Code Playgroud)

我在django中收到错误

例外价值:

规则集打开'{'not found ::(u'@ page {\n\t\t\ttrigin:',u'0cm; \n\t\t\t @ frame header')

异常位置:/usr/lib/pymodules/python2.6/sx/w3c/cssParser.py in _parseAtPage,第654行

它看起来像是@ss上的css解析器.
对我而言,我看起来就像在示例中一样使用它.我希望有人可以帮助提供一些指导,或者指出一些模板示例.
我也想知道如何使用-pdf-供应商特定标签.我找不到这些标签的文档......

css python django pdf-generation pisa

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

csvkit&django又称使用csvkit作为模块而不是命令行

我需要在django应用程序中执行一些csv文件处理.
我听说过csvkit,看起来很酷.
github页面

想尝试一下,但我不知道如何使用csvkit作为模块.具体来说,我想使用CSVJSON实用程序.我需要传递一个csv文件(并希望其他一些参数),但不能弄清楚如何做到这一点.
CSV JSON文档

我想传递实用程序上传的csv文件,上传的文件可能在内存中(如果它足够小)或临时存储区域.CSVJSON看起来像需要文件路径或流.如果有人可以告诉我我需要对上传的文件做什么,CSVJSON能够使用它,这将是一个很好的奖励.

在django 1.3中,我计划在form_valid方法中完成工作.

希望有一些python技能的人可以帮助告诉我我需要做什么.谢谢

python csv django django-views

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

芹菜:事件==信号?

我正在尝试连接到此处描述的芹菜信号:
http :
//docs.celeryproject.org/en/latest/userguide/signals.html我可以连接到task_sent信号没问题。

但是,当我尝试连接到task_success或task_postrun时,什么也没发生。对于我的经纪人和后端,我使用的是postgres sql。

我试图了解为什么它不起作用

我从这里的文档中想知道的一件事是:
http : //docs.celeryproject.org/en/latest/getting-started/brokers/sqlalchemy.html#broker-sqlalchemy
它说:

限制:事件,包括Django Admin监视器。

目前尚不清楚当他们说事件时,是否表示信号。

请帮忙。

task.py

from celery import Celery
from celery.signals import task_sent, task_success, task_postrun
import celeryconfig

celery_config_dict = {** stuff **}

celery = Celery('tasks',)
celery.add_defaults(celery_config_dict)


@celery.task
def add(x, y):
    return x + y



@task_sent.connect
def task_sent_handler(sender=None, task_id=None, task=None, args=None, kwargs=None, **kwds):
    print('''   Task Sent!
    sender: %s
    task_id: %s
    task: %s
    args: %s
    kargs: %s
    kwds: %s''' % (   sender, 
                        task_id, 
                        task,
                        args,
                        kwargs,
                        kwds))


@task_success.connect
def task_success_handler(sender=None, …
Run Code Online (Sandbox Code Playgroud)

python postgresql events signals celery

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

Firestore 权限

如何配置权限,以便用户只能读取和写入其所有者所在的文档?我的文档有一个名为所有者的顶级属性。

我阅读了这些文档
https://firebase.google.com/docs/firestore/security/secure-data?authuser=0#the_resource_variable

看起来这应该可行?

service cloud.firestore {
  match /databases/{database}/documents {
    match /analysis/{analysis} {
      allow read, write: if request.auth.email == resource.data.owner
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

但这似乎不起作用。我不断收到权限不足的错误。我需要改变什么?


更新:

阅读@Doug Stevenson 链接的文档后,我决定选择

service cloud.firestore {
  match /databases/{database}/documents {
    match /analysis/{analysis} {
      allow read, write: if request.auth.uid == resource.data.owner_uid;
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

所以我的初衷是当我们进行列表操作时:

A。仅返回属于用户的文档
b.只有用户拥有的文档才能由该用户读取或写入。

有了上面的配置b.就完成了。
我该如何完成a.

firebase firebase-security firebase-authentication google-cloud-firestore

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

Grails - 无法从Controller调用服务 - >总是得到"无法调用null对象上的方法错误"

我有一个grails应用程序,我在这里按照教程:http:
//www.grails.org/Services

我有一些代码

import org.springframework.beans.factory.InitializingBean

class SubmitRequestService implements InitializingBean{
    def GrailsApplication1
    def setting

    void afterPropertiesSet(){
        this.setting = GrailsApplication1.config.setting
    }

    def void sendHistoricalContract(HistoricalContract hc_instance){
        //... blah blah whatever code      
    }
}

class SubmitRequestController {    
    def submitRequestService
    static allowedMethods = [save: "POST", update: "POST", delete: "POST"]

    def index = {
        // .... blah blah whatever code
        submitRequestService.sendHistoricalContract(historicalContractInstance)
    }    
}
Run Code Online (Sandbox Code Playgroud)

不管我做什么,我似乎无法将服务注入控制器.每当我到达我称之为服务的行时,我都会收到错误:

ERROR errors.GrailsExceptionResolver - 无法在null对象上调用方法sendHistoricalContract()

我究竟做错了什么?

提前致谢

java service grails groovy controller

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

Boto3 - sqs get_queue_url 结果在 QueueDoesNotExist

我正在尝试从 SQS 队列中读取。为此,我需要获取队列 url。这是我的代码

    sts = boto3.client('sts')
    print('running as:')
    pp.pprint(sts.get_caller_identity())

    sqs = boto3.client('sqs')
    queue_name = settings.SQS_JOBS_TASK_RESULTS_QUEUE
    print('getting queue_name: ', queue_name)
    res = sqs.get_queue_url(QueueName=queue_name)
Run Code Online (Sandbox Code Playgroud)

从上面的代码你可以看到我也在验证我的身份。

sqs.get_queue_url 总是失败

botocore.errorfactory.QueueDoesNotExist:调用 GetQueueUrl 操作时发生错误 (AWS.SimpleQueueService.NonExistentQueue):指定的队列不存在或您无权访问它。

我已经从 aws Web 控制台复制粘贴了队列名称。仍然失败。

我知道我的权限没问题,因为如果我跳过这一步,从 web 控制台复制粘贴 url 并直接跳转到读取和写入队列,它可以工作。

我在这里缺少什么?

amazon-sqs boto3

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