我正在使用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)
我的问题是:
编辑:谢谢詹姆斯和亨利.我不认为我一直很善于描述我的问题.我重做了这个.
提前致谢
关于Q1,
所以我只是开始使用芹菜并尝试做一些简单的测试来感受它.我试图设置芹菜使用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构造函数中的后端参数按预期工作.
我在这做错了什么?我觉得它一定是蠢事,因为我在网上找不到任何东西.
提前致谢.
我想使模型的DateTimefield接受Unix时间戳(以秒为单位)值。
我找到了,但是可接受的解决方案不起作用?
DataTimeField中的unixtimestamp输入
即我不明白如何添加'%s'作为输入格式,特别是当标准datetime字段的to_python()代码不包含任何用于处理unix时间戳的逻辑时,尤其如此。
如果有一项设置可以让我做得很好。
否则,我想我想要的是子类化DateTimeField,并在设置值时以某种方式自动将int转换为datetime对象。我想在保存之前执行此操作,而不是覆盖save(),因为在检索此字段的值时我希望保持一致。即,当我取出值时,无论实例是否已保存,我都不必担心我是否有日期时间对象或整数。
我查看了django.db.models.fields的来源,但对我来说并不明显。
我正在尝试使用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-供应商特定标签.我找不到这些标签的文档......
我需要在django应用程序中执行一些csv文件处理.
我听说过csvkit,看起来很酷.
github页面
想尝试一下,但我不知道如何使用csvkit作为模块.具体来说,我想使用CSVJSON实用程序.我需要传递一个csv文件(并希望其他一些参数),但不能弄清楚如何做到这一点.
CSV JSON文档
我想传递实用程序上传的csv文件,上传的文件可能在内存中(如果它足够小)或临时存储区域.CSVJSON看起来像需要文件路径或流.如果有人可以告诉我我需要对上传的文件做什么,CSVJSON能够使用它,这将是一个很好的奖励.
在django 1.3中,我计划在form_valid方法中完成工作.
希望有一些python技能的人可以帮助告诉我我需要做什么.谢谢
我正在尝试连接到此处描述的芹菜信号:
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) 如何配置权限,以便用户只能读取和写入其所有者所在的文档?我的文档有一个名为所有者的顶级属性。
我阅读了这些文档
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
我有一个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()
我究竟做错了什么?
提前致谢
我正在尝试从 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 并直接跳转到读取和写入队列,它可以工作。
我在这里缺少什么?