我有一些object.ID-s,我尝试将其作为元组存储在用户会话中.当我添加第一个它工作,但元组看起来像(u'2',),但当我尝试使用获取mytuple = mytuple + new.id错误添加新的can only concatenate tuple (not "unicode") to tuple.
我有四个字符串,其中任何一个都可以为空.我需要将它们连接成一个字符串,它们之间有空格.如果我使用:
new_string = string1 + ' ' + string2 + ' ' + string3 + ' ' + string4
Run Code Online (Sandbox Code Playgroud)
如果string1为空,结果是新字符串开头的空格.另外,我有三个空格,如果string2和string3是空的.
当我不需要时,如何在没有空格的情况下轻松加入它们?
如何在Scrapy的parse()功能中获取请求URL ?我有很多网址start_urls,其中一些将我的蜘蛛重定向到主页,结果我有一个空项目.所以我需要item['start_url'] = request.url存储这些网址的东西.我正在使用BaseSpider.
我在表单中有一个选择字段,现在我需要在此字段中迭代选项.
{{ form.myselect }} 给我这个:
<select name="myselect" id="id_myselect">
<option value="" selected="selected">---------</option>
<option value="2">Item 1</option>
<option value="3">Item 2</option>
...
</select>
Run Code Online (Sandbox Code Playgroud)
现在我需要为选项添加一些属性,因此我需要的是:
<select name="myselect" id="id_myselect">
{% for x in form.myselect %}
<option value="{{ x.id }}">{{ x.name }}</option>
{% endfor %}
</select>
Run Code Online (Sandbox Code Playgroud)
但是有一个错误:
Caught TypeError while rendering: 'BoundField' object is not iterable
Run Code Online (Sandbox Code Playgroud)
我试过form.myselect.all,form.myselect.option_set但它没有给出任何东西
我在页面上有一些循环,需要依赖于循环编号的列表项.
我打电话的时候:
{{ mylist.1 }}
{{ mylist.2 }}
{{ mylist.3 }}
Run Code Online (Sandbox Code Playgroud)
一切正常,但我真正需要的是:
{% for x in somenumber|MyCustomRangeTag %}
{{ mylist.x }}
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
MyCustomRangeTag给了我Python range()它的工作原理,我已经有了x数字.因此x,取决于循环次数,是1,2,3等.这可能吗?怎么样?
我需要帮助表单看起来像Gmail收件箱并有多个操作.有一个项目列表,我想用表格包装它,在每个项目的前面有复选框的方式.因此,当用户选择几个项目时,他可以单击具有不同操作的两个按钮,例如删除和标记读取.
<form action="">
{% for item in object_list %}
<input type="checkbox" id="item.id">
{{ item.name }}
{% endfor %}
<button type="submit" name="delete">Delete</button>
<button type="submit" name="mark_read">Mark read</button>
</form>
Run Code Online (Sandbox Code Playgroud)
我可以找到哪个提交按钮是用户点击如果使用if 'delete' in request.POST但我不能参考任何形式,因为我认为Django形式不能被定义为未知数量的字段.那么如何在视图中处理所选项目?
if request.method == 'POST':
form = UnknownForm(request.POST):
if 'delete' in request.POST:
'delete selected items'
if 'mark_read' in erquest.POST:
'mark selected items as read'
return HttpResponseRedirect('')
Run Code Online (Sandbox Code Playgroud) django django-templates django-models django-forms django-views
在搜索结果网址中有csrf.不知道为什么会有,以及如何删除它.搜索效果很好.这是URL
/search/?csrfmiddlewaretoken=675d1340034e094866d15a921407e3fc&q=testing
Run Code Online (Sandbox Code Playgroud)
这是观点:
def search(request):
query = request.GET.get('q', '')
rezult = []
if query:
qset1 = (
Q(title__icontains=query)
)
result = Product.objects.filter(qset1).distinct()
if result.count() == 1:
return HttpResponseRedirect(result[0].get_absolute_url())
return render_to_response('search/search.html',{'query': query, 'result': result, },context_instance=RequestContext(request))
Run Code Online (Sandbox Code Playgroud)
谢谢
我有一些逻辑需要重复6次.结果存储在变量的末尾,但我需要变量名称为data1,data2,data3等.所以,如果我有:
for x in range(0, 3):
...some logic...
data = result
Run Code Online (Sandbox Code Playgroud)
如何根据循环编号获取名为data1,data2等的数据变量?
我有一个有点复杂的查询,我使用带有条件表达式的注释,代码如下:
from django.db.models import Q, F, When, CharField, Value, Case
from django.contrib.auth.models import User
ATT_PREFIX = 'f'
def get_it(mymodel, fields):
q = Q(modelone__modeltwo__mymodel=mymodel)
query_set = {
'aid': F('modelone__id'),
'name': F('modelfour__name'),
}
for f in fields:
query_set[ATT_PREFIX + str(f.id)] = Case(
When(Q(modelfive__modelsix=f) &
Q(modelfive__user__email=F('email')),
then='modelfive__entry'),
default=Value(''),
output_field=CharField(),
)
return User.objects.filter(q).annotate(**query_set)
Run Code Online (Sandbox Code Playgroud)
收集的属性辅助和名称F()具有预期值。使用条件表达式的第二部分有一个问题:如果 feilds 列表包含 2 个对象,那么Case()当条件满足时我有 2 个用户对象。因此,(aid, name, f17, f18) 我得到了两个对象,而不是一个具有属性的对象:
obj1 attributes (aid, name, f17)
obj2 attributes (aid, name, f18)
Run Code Online (Sandbox Code Playgroud)
Django 1.10,Python3.5
我有一些固定的数字,比如说num = 1000现在我有一个字段,它需要是 object.id 和 num 的总和。我需要在 save() 中使用它,如下所示。
def save(self, *args, **kwargs):
num = 1000
self.special = self.id + num
super(MyModel, self).save(*args, **kwargs)
Run Code Online (Sandbox Code Playgroud)
但 self.id 在保存后已知,并且需要名为special的字段。如何获取self.id?
django ×6
django-views ×4
django-forms ×3
python ×3
python-2.7 ×2
django-admin ×1
join ×1
scrapy ×1
scrapyd ×1
string ×1
tuples ×1
variables ×1