我是正则表达式的新手,我正试图在Python中生成以下条件.
长度为3到16个字符且为字母数字或包含连字符(但不是第一个或最后一个字符)的字符串.
这是我到目前为止:
rule = re.compile(r'(^{0,16})')
if rule.search(value):
msg = u"Does not validate"
raise ValidationError(msg)
Run Code Online (Sandbox Code Playgroud) 我希望这是有道理的,这就是我想做的(无论出于何种原因)。
我想在我的模型表单中创建一个非模型表单字段?
例如,下面我有一个模型表单,我想在init中添加一个 不包含在名为template的模型中的额外字段。我不保存这个新字段,因此它不需要在我的模型中,或者我希望它在我的模型中(我用它做了一些花哨的 ajax 东西。)。
表格.py
class testForm(forms.ModelForm):
def __init__(self, user=None, *args, **kwargs):
super(testForm, self).__init__(*args, **kwargs)
if user is not None:
this_templates = Template.objects.for_user(user)
self.fields["templates"] = forms.??????????
Run Code Online (Sandbox Code Playgroud) 我正在使用Django,Celery和RabbitMQ.我有一个发送电子邮件的简单任务.这项任务有效,但速度很慢.
例如,我发送5000封电子邮件,所有5000封电子邮件正常直接进入RabbitMQ,但一旦进入消息代理,它就会花费大约30分钟来完成并清除所有任务.
如果没有Celery,这些相同的任务只需几分钟即可处理所有5000个任务.
我错过了配置的东西吗?如果有人能发现我的速度问题会非常有帮助.
task.py
class SendMessage(Task):
name = "Sending SMS"
max_retries = 10
default_retry_delay = 3
def run(self, message_id, gateway_id=None, **kwargs):
logging.debug("About to send a message.")
try:
message = Message.objects.get(pk=message_id)
except Exception as exc:
raise SendMessage.retry(exc=exc)
if not gateway_id:
if hasattr(message.billee, 'sms_gateway'):
gateway = message.billee.sms_gateway
else:
gateway = Gateway.objects.all()[0]
else:
gateway = Gateway.objects.get(pk=gateway_id)
account = Account.objects.get(user=message.sender)
if account._balance() >= message.length:
response = gateway._send(message)
if response.status == 'Sent':
# Take …
Run Code Online (Sandbox Code Playgroud) 我有一个Python文件,它是Django框架的一部分,名为facade.py
from django.conf import settings
from .gateway import Gateway
class Facade(object):
def __init__(self):
self.gateway = Gateway(
settings.password,
settings.username,
)
Run Code Online (Sandbox Code Playgroud)
我想在终端窗口中测试这段代码.这是我尝试过的:
within virutal-env
python
>>> from my.apps.app.facade import Facade
>>> object = Facade()
Run Code Online (Sandbox Code Playgroud)
但这给了我错误 ImportError:无法导入设置,因为环境变量DJANGO_SETTINGS_MODULE未定义.
为什么?
有人可以检查下面的代码并告诉我为什么我不能从我的模型输出任何属性到模板?我的视图和模板正确呈现模型确实获取数据,这应该工作...
模板:
Name should show here --> {{thisItem}}
Run Code Online (Sandbox Code Playgroud)
我没有错误和文字显示但没有{{thisItem}}
.从阅读文档,这应该工作.
我不认为我的模型被传递给模板或者是否需要[dot] {{model.name}}?
我的看法:
define([
'jquery',
'underscore',
'backbone',
'models/myModel',
'collections/myModelCollection',
'hbs!templates/testExampleTemplate.html',
], function ($, _, Backbone, myModel, myModelCollection, testExampleTemplate) {
var thisView = Backbone.Marionette.ItemView.extend({
initialize: function (options) {
this.model.fetch();
},
model: new myModel(),
template: testExampleTemplate,
});
return thisView;
});
Run Code Online (Sandbox Code Playgroud)
console.log模型显示我有数据:
attributes: Object
thisItem: "Example Item"
Run Code Online (Sandbox Code Playgroud)
模型:
define([
'underscore',
'backbone',
'jquery'
], function (_, Backbone, jquery) {
var myModel = Backbone.Model.extend({
urlRoot: '/myModel'
});
return myModel;
});
Run Code Online (Sandbox Code Playgroud)
模板,这是我的工作方式:
HTML基础 …
我正在接收来自其他网站的传入POST,下面是我目前如何获得它.我是Django的新手,但很少有事情发生在我身上,我想知道我是否应该担心.
SQL注入:因为我无法清理帖子数据是使用request.POST['message']
open是SQL注入吗?
安全性:有更好的方法吗?
@csrf_exempt
def incoming_message(request):
if request.POST:
# Match incoming keyword.
keyword = Keyword.objects.get(keyword=request.POST['message'])
Run Code Online (Sandbox Code Playgroud) 我有一个用户档案模型.我想要一个新的模型方法给我一个关于如何完成配置文件的分数.例如:
Name 10%
Mobile 50%
Gender 10%
Website 10%
Location 10%
birth_date 10%
Run Code Online (Sandbox Code Playgroud)
这意味着,如果用户填写了名称和移动设备,他们的个人资料将完成60%.
有人能让我开始研究如何完成这样的事情吗?谢谢:
我的型号:
class Profile(UserenaLanguageBaseProfile):
""" Default profile """
GENDER_CHOICES = (
(1, _('Male')),
(2, _('Female')),
)
user = models.OneToOneField(User,
unique=True,
verbose_name=_('user'),
related_name='profile')
gender = models.PositiveSmallIntegerField(_('gender'),
choices=GENDER_CHOICES,
blank=True,
null=True)
mobile = models.CharField(max_length=32, blank=True)
website = models.URLField(_('website'), blank=True, )
location = models.CharField(_('location'), max_length=255, blank=True)
birth_date = models.DateField(_('birth date'), blank=True, null=True)
Run Code Online (Sandbox Code Playgroud) 以下是什么是最好的方法......
在一个Django中,我有一个名为' showItem
' 的变量视图,它可以是true
或false
.我希望在40%的时间将showItem设置为true ,并将60%的时间设置为false ,以及稍后更改这些赔率的选项.
使用Python我应该怎么做?
部分观点:
def get_context_data(self, **kwargs):
context = super(EntryDetail, self).get_context_data(**kwargs)
context['showItem'] = (odds?????)
return context
Run Code Online (Sandbox Code Playgroud) 当我创建我的requirements.txt时,我总是希望它能获得最新的包,而不必知道版本号,我该怎么做?
例如,我希望这能获得最新版本的Django:
requirements.txt
的Django> =
南== 0.7.6
我有一个问题
messages = Message.objects.all()
Run Code Online (Sandbox Code Playgroud)
我想创建一个从message.number创建一个逗号分隔的所有数字的字符串
这是我尝试过的:
number = ""
for obj in messages:
number = number + "," + obj.number
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?PS这个字符串可以超过400,000个数字!
django ×8
python ×6
backbone.js ×1
celery ×1
django-forms ×1
django-views ×1
javascript ×1
marionette ×1
rabbitmq ×1
regex ×1
security ×1