小编Tom*_*chý的帖子

序列化程序中的循环依赖

我玩django-rest-framework,我会做以下事情:

from rest_framework import serializers

from .models import Author, Book


class BookSerializer(serializers.ModelSerializer):
    author = AuthorSerializer(many=False)

    class Meta:
        model = Book
        fields = ('slug', 'name')


class AuthorSerializer(serializers.ModelSerializer):
    books = BookSerializer(many=True)

    class Meta:
        model = Author
        fields = ('slug', 'name', 'books')
Run Code Online (Sandbox Code Playgroud)

但它失败了.

NameError at /api/books/authors/
name 'AuthorSerializer' is not defined
Run Code Online (Sandbox Code Playgroud)

有人帮忙吗?

api django rest django-rest-framework

21
推荐指数
3
解决办法
5737
查看次数

Django - 清洁权限表

在开发期间,有时会删除或重命名应用和模型权限.什么是从权限表中清除剩余物而不破坏某些东西的好方法?

例如:我有一个带有一些权限的articles模型的应用程序Article.

class Article(models.Model):
    title = ...
    text = ...

    class Meta:
        permissions = (
            ('can_edit_title', 'Can edit title of article'),
            ('can_edit_text', 'Can edit text of article'),
        )
Run Code Online (Sandbox Code Playgroud)

我通过命令添加此权限(已安装django_extension):

./manage update_permissions
Run Code Online (Sandbox Code Playgroud)

但后来我意识到,最好给它命名can_update_title.所以我改变了模型:

class Article(models.Model):
    ...

    class Meta:
        permissions = (
            ('can_update_title', 'Can update title of article'),
            ('can_update_text', 'Can update text of article'),
        )
Run Code Online (Sandbox Code Playgroud)

当我更新权限时,Django管理中既有权限又对用户 - 管理员来说真的很混乱.

django permissions

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

Django中的非循环图

我想在Django中实现非循环图结构.例如,我在树结构中有一些类别:

Guitars
- Classical Guitars
- Western Guitars
- Guitars for Children

Ukuleles
- Soprano Ukulele
- Concert Ukulele
- Baryton Ukulele
- Ukuleles for Children
Run Code Online (Sandbox Code Playgroud)

现在,我想补充类别For Children并创建链接到现有的类别Guitars for ChildrenUkuleles for Children.但是我必须避免这个图中的周期.

实现它的最简单方法是什么?有可能用django-mptt吗?我需要它在动态和易于修改的管理.您可以将其映像为复杂eshop中的类别结构.

django graph django-mptt directed-acyclic-graphs

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

三列布局与不同高度的块

我有基于Twitter Bootstrap的简单3列布局.唯一的问题是,每个列都是从具有不同高度的块组装而成.

<div class="container">
    <div id="blocks" class="row">
        <div class="span4">
            <div class="block" id="block1">
            <div class="block" id="block4">
            <div class="block" id="block7">
        </div>
        <div class="span4">
            <div class="block" id="block2">
            <div class="block" id="block5">
            <div class="block" id="block8">
        </div>            
        <div class="span4">
            <div class="block" id="block3">
            <div class="block" id="block5">
            <div class="block" id="block9">
        </div>
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

这条路.

除小型显示器外,它工作得很好.然后不对块的顺序进行排序.

在小型显示器上

有没有办法在没有任何JavaScript的情况下实现排序块?

html5 css3 twitter-bootstrap

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

反转preg_replace

我有这样的正则表达式:

^page/(?P<id>\d+)-(?P<slug>[^\.]+)\.html$
Run Code Online (Sandbox Code Playgroud)

和一个数组:

$args = array(
    'id' => 5,
    'slug' => 'my-first-article'
);
Run Code Online (Sandbox Code Playgroud)

我想有功能:

my_function($regex, $args)
Run Code Online (Sandbox Code Playgroud)

这将返回此结果:

page/5-my-first-article.html
Run Code Online (Sandbox Code Playgroud)

怎么能实现这一目标?

https://docs.djangoproject.com/en/dev/ref/urlresolvers/#reverse这样的东西

php regex generator preg-replace

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

在表单字段验证中获取请求

我有一个表单,验证取决于已登录的用户.对于某些用户,某些值是有效的,对于其他用户,它们是无效的.什么是有效的,什么是无效的是动态的 - 我不能为每个用户组创建新的表单.

更重要的是,我需要在更多表单中进行相同的验证,因此我创建了自定义表单字段.对于这个自定义表单字段,我需要以某种方式传递用户实例以检查该值是否有效.

这该怎么做?

forms django validation field request

3
推荐指数
2
解决办法
2354
查看次数

Linux - 如何改变chmod /

如何更改/的chmod?

我跑的时候

chmod 755 /
Run Code Online (Sandbox Code Playgroud)

根本,我明白了

Operation not permitted
Run Code Online (Sandbox Code Playgroud)

为什么我需要它?

我正在安装(以root身份登录)apt-get install memcached,我收到错误:

failed to move /initrd.img:Permission denied at /var/lib/dpkg/info/linux-image-3.2.0-26-generic.postinst line 495.
Run Code Online (Sandbox Code Playgroud)

linux root chmod

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