我有以下观点:
def search_events(request):
term = request.GET.get('term', '')
adminDivision = request.GET.get('adminDivision', '')
events = Event.objects.filter(event_name__icontains=term, city__admin1=adminDivision)
data= serializers.serialize('json', events);
return HttpResponse(data, content_type='application/json')
Run Code Online (Sandbox Code Playgroud)
它可以从请求接收 2 个参数,term 和 adminDivision,然后在数据库上进行搜索。
现在的工作方式是,当其中一个为空(term 或 adminDivision)时,我不会得到任何结果,因为所有对象对这些字段都有一些值。
我想要的是,如果一个或什至两个过滤器都为空,则不要应用该过滤器。
例如,如果我有这些对象:
目前term=foo(对于 adminDivision 没有价值),我没有得到任何结果,但我希望它返回第一个和第三个。
由于这两个值都是空的,我也没有得到任何结果,但我想拥有所有结果。
有没有一种优雅的方法来实现这一目标?
谢谢你!
我正在尝试使用角度2材质和flex-layout来创建响应式元素库.几个小时后,我仍然无法将我的元素集中在一起:
这是源代码:
<div fxLayout='row' fxLayoutWrap fxLayoutGap="2rem">
<md-card fxFlex.gt-md="20" fxFlex.md="28" fxFlex.sm="40" fxFlex.xs="100" *ngFor="let recipe of recipes" [routerLink]="['/details', recipe.id]" class="recipe-card">
<md-card-header>
<md-card-title>element</md-card-title>
</md-card-header>
<img md-card-image src="http://placehold.it/350x200">
<md-card-content>
<p>
Lorem Ipsum
</p>
</md-card-content>
</md-card>
</div>
Run Code Online (Sandbox Code Playgroud)
我已经为fxFlexAlign(https://github.com/angular/flex-layout/wiki/API-Documentation)尝试了不同的值,但它们都没有实现我所需要的,即将元素置于中心,或者换句话说,分发右侧和左侧之间的红色方块空间.
有没有办法实现这个目标?
编辑
不幸的是,justify-content: space-between;如果我有动态数量的项目,则无效.最终,它们将被包装在一个新行中,然后最后一行中的项目将不会像预期的那样:
.container {
display:flex;
width:100%;
flex-flow:row wrap;
justify-content: space-between;
}
.block {
width:100px;
height:100px;
border:1px solid red;
}Run Code Online (Sandbox Code Playgroud)
<div class="container">
<div class="block" fxLayout='row' fxLayoutWrap fxLayoutGap="2rem">
... you content
</div>
<div class="block" fxLayout='row' fxLayoutWrap fxLayoutGap="2rem">
... you content
</div> …Run Code Online (Sandbox Code Playgroud)我有以下问题。假设我有一个类型:
type A = {
prop1: string,
prop2: {
prop3: string
}
}
Run Code Online (Sandbox Code Playgroud)
我从外部服务接收一些 json 对象,我想验证该 json 是否匹配类型A:
function isA(obj:any): boolean {
// What should be here?
}
Run Code Online (Sandbox Code Playgroud)
所以如果我obj是这样的:
{
prop1: "Hello",
prop2: {
prop3: "World"
}
}
Run Code Online (Sandbox Code Playgroud)
或者
{
prop1: "Hello",
prop2: {
prop3: "World"
},
moreProps: "I don't care about"
}
Run Code Online (Sandbox Code Playgroud)
该函数将返回真,但对于类似的东西会返回假
{
foo: "Hello",
bar: {
prop3: "World"
}
}
Run Code Online (Sandbox Code Playgroud)
实现这一目标的最简单方法是什么?
谢谢。
我试图使用ui bootstrap(http://angular-ui.github.io/bootstrap/)做一组单选按钮,与他们网站上的示例几乎相同,但是使用ng-repeat:
<div class="btn-group">
<label ng-repeat='option in options' class="btn btn-danger" ng-model="radioModel2" btn-radio="'{{option}}'" uncheckable>{{option}}</label>
</div>
Run Code Online (Sandbox Code Playgroud)
但由于某些原因,当我使用ng-repeat时它不起作用.谁知道为什么?
我已经做了一个说明问题的人:http ://plnkr.co/edit/0sDgKoRhHOgfnIvBPmi4?p=preview
谢谢!
我试图得到这个:

但是2小时后我就有了这个:

问题是我不知道如何在不使用javascript的情况下对齐按钮上的文本,仅使用css.无论如何没有Javascript可以做到这一点?这是我的代码:
<div class='chart_button'>
<div>Pain Relief</div>
</div>
<div class='chart_button'>
<div>Pain relief by attack</div>
</div>
Run Code Online (Sandbox Code Playgroud)
这是css:
.button_set .chart_button{
display: inline-table;
height: 50px;
width: 110px;
background: url('../img/button-chart.png');
font-size: 14px;
font-weight: bold;
color: #717171;
text-align: center;
margin-right: 1px;
cursor: pointer;
vertical-align: bottom;
}
Run Code Online (Sandbox Code Playgroud) 在我的项目中,我已经配置好并且可以正常使用S3 存储。现在,我正在尝试使用s3 direct配置直接上传到s3的功能。工作正常。用户能够上传图像并将其存储在S3中。当我在数据库中保存对图像的引用时,就会出现问题。
models.py
class FullResPicture(Audit):
docfile = models.ImageField()
picture = models.OneToOneField(Picture, primary_key=True)
Run Code Online (Sandbox Code Playgroud)
settings.py
...
S3DIRECT_DESTINATIONS = {
# Allow anybody to upload jpeg's and png's.
'imgs': ('uploads/imgs', lambda u: u.is_authenticated(), ['image/jpeg', 'image/png'], 'public-read','bucket-name'),
}
...
Run Code Online (Sandbox Code Playgroud)
views.py
#Doc file is the url to the image that the user uploaded directly to S3
#https://s3-eu-west-1.amazonaws.com/bucket/uploads/imgs/picture.jpeg
fullRes = FullResPicture(docfile = form_list[1].cleaned_data['docfile'])
Run Code Online (Sandbox Code Playgroud)
因此,如果我查看数据库,就会发现有些图像可以正常工作(仅使用django-storages上传的那些图像),其docfile值如下所示:
images/2015/08/11/image.jpg
Run Code Online (Sandbox Code Playgroud)
当应用程序尝试访问这些图像时,S3 boto能够正确获取图像。
但是之后,我直接从用户的浏览器上传了图像。对于这些,我存储了完整的URL,因此它们在数据库中看起来像这样:
https://s3-eu-west-1.amazonaws.com/bucket/uploads/imgs/Most-Famous-Felines-034.jpg
Run Code Online (Sandbox Code Playgroud)
当应用程序尝试访问它们时,我遇到了以下异常:
File "/Users/mariopersonal/Documents/dev/venv/pictures/lib/python2.7/site-packages/django/db/models/fields/files.py", line 49, in _get_file
self._file = self.storage.open(self.name, 'rb')
File "/Users/mariopersonal/Documents/dev/venv/pictures/lib/python2.7/site-packages/django/core/files/storage.py", …Run Code Online (Sandbox Code Playgroud) 我在一个 angular2 组件中有以下代码:
ngOnInit() {
this.route.params
.switchMap((params: Params) => this.elementsService.getElement(+params['id']))
.subscribe(element => {
this.elementToEdit = element;
}
);
}
Run Code Online (Sandbox Code Playgroud)
此组件在两种情况下使用,一种id是在 url 中提供了,另一种是没有id提供。在第一种情况下,它工作正常。在第二个中,它可以工作,但控制台中出现 404 错误:api/elements/NaN.
我正在尝试解决这个问题,但我找不到一种方法来检查idurl 中是否存在:
ngOnInit() {
if(this.route.params['id']){<---doesn't work
this.route.params
.switchMap((params: Params) => this.elementsService.getElement(+params['id']))
.subscribe(element => {
this.elementToEdit = element;
}
);
}
}
Run Code Online (Sandbox Code Playgroud)
如果id参数不存在,有没有办法做到这一点并避免调用服务?
我有这个 html:
<div id="workAllocated">
<h3>Work Allocated</h3>
<p>Lorem Ipsum</p>
<p>Lorem Ipsum</p>
</div>
Run Code Online (Sandbox Code Playgroud)
以及以下 CSS:
div#contentarea.profile_edit div {
margin-bottom: 20px;
}
div#contentarea.profile_edit div.col_01 h3 {
font-size: 2.4em;
margin: 0;
}
div#workAllocated p {
margin-bottom: 0px;
border-bottom: 1px solid red;
}
Run Code Online (Sandbox Code Playgroud)
结果看起来像这个快照:

但我需要它看起来像这样:

不同之处在于<p>标签内文本的垂直对齐方式。它在<p>容器内左上角对齐,但应该在左中。我尝试了一些 技巧, 例如更改行高并将显示更改为表格单元格,然后应用垂直对齐属性,但它们都没有真正起作用。
提前致谢!