小编Dea*_*dly的帖子

ImageField覆盖具有相同名称的图像文件

我有UserProfile场模型avatar = models.ImageField(upload_to=upload_avatar)

upload_avatar函数名称图像文件根据user.id(例如12.png).

但是当用户更新头像时,新的头像名称与旧的头像名称一致,Django将后缀添加到文件名(例如12-1.png).

有办法覆盖文件而不是创建新文件

django django-models

47
推荐指数
7
解决办法
3万
查看次数

Django使用另一个表中的数据更新表

我有2个表productscatagories通过外键连接.我需要products.new_cost使用字段更新字段catagories.price_markup如下:

UPDATE products p
INNER JOIN categories c ON p.category_id = c.id
SET p.new_cost = ROUND(p.pleer_cost * (1 + c.price_markup/100), -1)
WHERE p.update = 1
Run Code Online (Sandbox Code Playgroud)

在SQL中它很容易,但是如何使用Django ORM呢?

我的简化尝试不起作用Cannot resolve keyword 'category.price_markup' into field.:

Product.actived.select_related('category').filter(update=1)).update(new_cost=F('pleer_cost') * F('category.price_markup'))
Run Code Online (Sandbox Code Playgroud)

django django-orm django-database

20
推荐指数
2
解决办法
7054
查看次数

如何在Centos 6.5上安装python27-devel

我从源代码安装了python 2.7.6,但是找不到如何为python 2.7安装python-devel

yum install python27-devel
Run Code Online (Sandbox Code Playgroud)

不起作用.怎么安装呢?

python centos python-2.7 centos6

20
推荐指数
2
解决办法
6万
查看次数

Django ORM SELECT加入

呃

django中的型号:

class Key(models.Model):
    id     = models.AutoField(primary_key=True, blank=True)
    name   = models.CharField(max_length=50)


class Record(models.Model):
    id         = models.AutoField(primary_key=True, blank=True)
    project_id = models.IntegerField()
    name       = models.CharField(max_length=50)


class Value(models.Model):
    id        = models.AutoField(primary_key=True, blank=True)
    record    = models.ForeignKey(Record)
    key       = models.ForeignKey(Key)
    value     = models.CharField(max_length=255)
Run Code Online (Sandbox Code Playgroud)

我需要从DB中选择这个数据:

NAME (from record)
and fields related with this record
[NAME (from key), VALUE (from value)]
[NAME (from key), VALUE (from value)]
[...]
Run Code Online (Sandbox Code Playgroud)

我可以使用django ORM进行此选择吗?(例如在SQL select中看起来像这样)

SELECT
    `keeper_record`.`id` AS `record_id`,
    `keeper_record`.`name` AS `name`,
    `keeper_record`.`desc` AS `desc`,
    `keeper_key`.`name` AS `key_name`,
    `keeper_key`.`desc` AS `key_desc`,
    `keeper_value`.`value` …
Run Code Online (Sandbox Code Playgroud)

python django django-models django-orm

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

将自定义路由添加到viewsets.ModelViewSet

在文档中有自定义URL的方法示例:http: //www.django-rest-framework.org/tutorial/6-viewsets-and-routers

class SnippetViewSet(viewsets.ModelViewSet):
    ...

    @link(renderer_classes=[renderers.StaticHTMLRenderer])
    def highlight(self, request, *args, **kwargs):
        snippet = self.get_object()
        return Response(snippet.highlighted)
Run Code Online (Sandbox Code Playgroud)

此示例添加以下路由:

url(r'^snippets/(?P<pk>[0-9]+)/highlight/$', snippet_highlight, name='snippet-highlight'),
Run Code Online (Sandbox Code Playgroud)

可以添加没有pk param的url,像这样吗?

r'^snippets/highlight/$'
Run Code Online (Sandbox Code Playgroud)

django django-rest-framework

7
推荐指数
3
解决办法
7692
查看次数

使用复数形式进行俄语本地化

我尝试使用俄语的复数形式,但俄罗斯有两种形式的字为多个单词(例如:"1个курс" = 1当然,"2курс а " = 2门课程,但"5курс ов " = 5课程).

Django支持这种特性并使用此算法指定复数形式(django.po headers):

"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%"
"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
Run Code Online (Sandbox Code Playgroud)

复数形式的描述看起来像这样(django.po):

msgid "%(????) ????"
msgid_plural "%(????) ?????"
msgstr[0] "%(????) ????"
msgstr[1] "%(????) ?????"
msgstr[2] "%(????) ??????"
Run Code Online (Sandbox Code Playgroud)

我如何在模板中使用它?像这样的东西{% sometag word="????" counter=courses|lenht %}?有默认标签,还是我需要自己实现这个标签?

django internationalization

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

Django在QuerySet/Dict中将datetime序列化为json

我试图通过以下方式对对象进行序列化QuerySetDict对象datetime.date:

方式#1:

json.dumps(MyModel.objects.values())
Run Code Online (Sandbox Code Playgroud)

引发错误:

例外值:[{'date':datetime.date(2012,5,26),'time':datetime.time(0,42,27)}]不是JSON可序列化的

方式#2:

json.dumps(MyModel.objects.values(), cls=DjangoJSONEncoder)
Run Code Online (Sandbox Code Playgroud)

还会引发错误:

例外值:[{'date':datetime.date(2012,5,26),'time':datetime.time(0,42,27)}]不是JSON可序列化的

方式#3:

json.dumps(MyModel.objects.all(), cls=DjangoJSONEncoder)
Run Code Online (Sandbox Code Playgroud)

异常值:[<MyModel:MyModel object>]不是JSON可序列化的

方式#4:

serializers.serialize('json', MyModel.objects.all())
Run Code Online (Sandbox Code Playgroud)

引发错误:

异常值:'str'对象没有属性'_meta'

如何在Django中使用datetime的字段将对象序列化为JSON?

django serialization json django-models

5
推荐指数
2
解决办法
8788
查看次数

NVD3堆积面积图

堆积面积图示例http://nvd3.org/ghpages/stackedArea.html

当我点击一个系列时,它会扩展到所有图表区域,删除其他系列.如何禁用此功能?

stacked-area-chart d3.js nvd3.js

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

保护网站免受未经身份验证的用户的侵害

当用户未登录时,应将其重定向到登录页面.

if not request.user.is_authenticated()
    # redirect to the login page
Run Code Online (Sandbox Code Playgroud)

但是必须在每个视图中编写此代码.有一种方法只能为所有视图编写一次公共代码吗?

django django-views

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

相同的视图不同的URL

我有以下路线:

url(r'^future/programs/$', main.programs, {'period': 'future'}),
url(r'^past/programs/$', main.programs, {'period': 'past'}),
Run Code Online (Sandbox Code Playgroud)

当我尝试显示模板链接,使用模板标记url这样

{% url main.views.main.programs %}
Run Code Online (Sandbox Code Playgroud)

我总是得到链接/past/programs/.当我尝试这样的时候

{% url main.views.main.programs period="future" %}
Run Code Online (Sandbox Code Playgroud)

我收到一个错误:

渲染时捕获NoReverseMatch:反向'main.views.main.programs',参数'()'和关键字参数'{'period':u'future'}'未找到.

我如何显示链接/future/programs/

django django-templates django-views

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

与ORM的Django错误

我已经开始学习django并且使用ORM(DB mysql)进行INSERT查询时遇到问题.我的模特:

class Record(models.Model):
    id         = models.AutoField(primary_key=True, blank=True),
    schema_id  = models.IntegerField(),
    name       = models.CharField(max_length=50),
    desc       = models.TextField(blank=True)

    class Meta:
        db_table = 'keeper_record'
Run Code Online (Sandbox Code Playgroud)

以下代码是view.py中的句柄后查询:

def add_record(request):
    if request.method == 'POST':
        Record.objects.create(
            schema_id  = request.POST.get('schema_id', 1),
            name       = request.POST.get('name', 'd'),
            desc       = request.POST.get('desc', ' ')
        )

        record.save()

    return HttpResponse('')
Run Code Online (Sandbox Code Playgroud)

但是此代码引发错误:

Request Method: POST
Request URL:    http://127.0.0.1:8000/records/add/
Django Version: 1.3.1
Exception Type: TypeError
Exception Value:    
'schema_id' is an invalid keyword argument for this function
Exception Location: C:\Program Files (x86)\Python\lib\site-packages\django\db\models\base.py in __init__, line 364 …
Run Code Online (Sandbox Code Playgroud)

python django django-models

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

ORM正则表达式

如何在 Django ORM 中使用正则表达式?我找到了__searchand__contains字段的后缀,但__regexp不起作用。


解决方案是使用__regex而不是__regexp如果有人遇到同样的问题。

django django-models django-orm

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