小编Ser*_*jik的帖子

用于在admin中添加和更改页面的不同字段

我的admin.py中有以下类的django应用程序:

class SoftwareVersionAdmin(ModelAdmin):
    fields = ("product", "version_number", "description",
      "media", "relative_url", "current_version")
    list_display = ["product", "version_number", "size",
      "current_version", "number_of_clients", "percent_of_clients"]
    list_display_links = ("version_number",)
    list_filter = ['product',]
Run Code Online (Sandbox Code Playgroud)

我希望这些文件用于添加页面,但不同的字段用于更改页面.我怎样才能做到这一点?

python django django-admin

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

Django:sqlite for dev,mysql for prod?

快速提问:在开发Django项目时使用sqlite并在生产服务器上使用MySQL是个好主意吗?

python mysql sqlite django dev-to-production

20
推荐指数
4
解决办法
3776
查看次数

将Cloudfront与Django S3Boto配合使用

我已成功设置我的应用程序以使用S3存储所有静态和媒体文件.但是,我想上传到S3(当前操作),但是从我设置的云端实例提供服务.我已经尝试将设置调整到cloudfront网址,但它不起作用.如何上传到S3并从Cloudfront服务?

设置

AWS_S3_CUSTOM_DOMAIN = '%s.s3.amazonaws.com' % AWS_STORAGE_BUCKET_NAME

DEFAULT_FILE_STORAGE = 'app.custom_storages.MediaStorage'
STATICFILES_STORAGE = 'app.custom_storages.StaticStorage'

STATICFILES_LOCATION = 'static'
MEDIAFILES_LOCATION = 'media'

STATIC_URL = "https://s3-eu-west-1.amazonaws.com/app/%s/" % (STATICFILES_LOCATION)
MEDIA_URL = "https://%s/%s/" % (AWS_S3_CUSTOM_DOMAIN, MEDIAFILES_LOCATION)
Run Code Online (Sandbox Code Playgroud)

custom_storages.py

from django.conf import settings
from storages.backends.s3boto import S3BotoStorage

class StaticStorage(S3BotoStorage):
    location = settings.STATICFILES_LOCATION

class MediaStorage(S3BotoStorage):
    location = settings.MEDIAFILES_LOCATION
Run Code Online (Sandbox Code Playgroud)

python django

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

TypeError:'DoesNotExist'对象不可调用

它并不总是这个代码块,但这是最新的.它似乎是随机的,任何想法?

try:
    u = User.objects.get(email__iexact=useremail)
except User.DoesNotExist:
    ...
Run Code Online (Sandbox Code Playgroud)

随机引发此错误.

File "/srv/myapp/registration/models.py", line 23, in get_or_create_user
  u = User.objects.get(email__iexact=useremail)

File "/usr/local/lib/python2.6/dist-packages/django/db/models/manager.py", line 132, in get
  return self.get_query_set().get(*args, **kwargs)

File "/usr/local/lib/python2.6/dist-packages/django/db/models/query.py", line 349, in get
  % self.model._meta.object_name)

TypeError: ‘DoesNotExist’ object is not callable
Run Code Online (Sandbox Code Playgroud)

python django

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

Django-tastypie:POST中文件上传的任何例子?

任何人都可以提供一个关于使用tastypie FileField的完整示例,包括服务器端和客户端吗?

这是我尝试过的:

#models.py
class Foo(models.Model):
    img = models.ImageField(upload_to="images", null=True, blank=True)
    body = models.CharField()

#api.py
class FooResource(ModelResource):
    img = fields.FileField(attribute="image", null=True, blank=True)
    class Meta:
        queryset = Foo.objects.all()
Run Code Online (Sandbox Code Playgroud)

如果我尝试使用curl创建一个foo对象,例如,

>>> curl -F "body=test" -F "img=@local_img.png" http://localhost:8000/api/0.1/foo/
Run Code Online (Sandbox Code Playgroud)

已成功创建foo对象,但该img字段为null.我可以在调试器中看到,保存bundle对象时确实有一个包含InMemoryUploadedFile对象的img字段,所以请求可能没问题.我哪里做错了?代码片段是最受欢迎的,谢谢!

python django tastypie

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

Django REST框架创建自定义用户

我是Django领域的新手,但看到那里有很多"神奇".我正在使用Django REST Framework并创建允许免费用户注册的应用程序.我的用户需要一些Django用户不具备的其他字段.所以我用Google搜索扩展用户.有一种想法应该通过创建这样的东西来完成

class MyUser(models.Model):
    user = models.ForeignKey(User, unique=True)
    city = models.CharField(max_length=50, blank=True, default='')
Run Code Online (Sandbox Code Playgroud)

这很好,但我有这个序列化器

class UserSerializer(serializers.ModelSerializer):
    class Meta:
        model = MyUser
        fields = ('id', 'username', 'password', 'first_name', 'last_name', 'email', 'city')
Run Code Online (Sandbox Code Playgroud)

所以,问题是这个序列化器在这里做了一些"魔术".它试图找出应该建模的字段...我想让用户在这里列出字段,这些字段在User中,'city'是新的自定义字段.Serializer没有得到应该在用户模型中查看.

我在这里错过了什么?如何告诉这个序列化器我想要用户内的一些字段?我也需要能够创建用户.

python django django-models django-rest-framework

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

如何在user_passes_test装饰器可调用函数中传递Django请求对象

我正在使用Django user_passes_test装饰器来检查用户权限.

@user_passes_test(lambda u: has_add_permission(u, "project"))
def create_project(request):
......
Run Code Online (Sandbox Code Playgroud)

我正在调用一个回调函数has_add_permission,它接受两个参数User和一个String.我想传递请求对象是否可能?另外,任何人都可以告诉我,我们如何直接访问装饰器内的User对象.

python django django-views django-authentication

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

(Django)修剪charField的空格

如何从Django中的charField末尾删除空格(trim)?

这是我的模型,你可以看到我已经尝试过使用干净的方法,但这些方法永远不会运行.

我也尝试过name.strip(),models.charField().strip()但这些都不起作用.

有没有办法强制charField自动修剪?

谢谢.

from django.db import models
from django.forms import ModelForm
from django.core.exceptions import ValidationError
import datetime

class Employee(models.Model):
    """(Workers, Staff, etc)"""
    name                = models.CharField(blank=True, null=True, max_length=100)

    def save(self, *args, **kwargs):
        try:
            # This line doesn't do anything??
            #self.full_clean()
            Employee.clean(self)
        except ValidationError, e:
            print e.message_dict

        super(Employee, self).save(*args, **kwargs) # Real save

    # If I uncomment this, I get an TypeError: unsubscriptable object
    #def clean(self):
    #   return self.clean['name'].strip()

    def __unicode__(self):
        return self.name

    class Meta:
        verbose_name_plural …
Run Code Online (Sandbox Code Playgroud)

python django django-models removing-whitespace

16
推荐指数
4
解决办法
3万
查看次数

如何做多对多的Django查询找到2位给定作者的书?

我有一个查询,需要使用ID过滤2个作者

从理论上讲,

Book.objects.filter(author__id=1, author__id=2). 
Run Code Online (Sandbox Code Playgroud)

这是不可能的.

我怎么解决这个问题?

干杯,米奇

python django many-to-many django-queryset

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

Django admin在同一行显示多个字段

我创建了一个模型,它将自动显示模型中的所有字段并将其显示在管理页面上.

现在,我有一个问题,我想在同一行上有两个字段,为此我必须在ModelAdmin指定字段集:

fieldsets = (
        (None, {
            'fields': (('firstname', 'lastname'),)
        }),
       )
Run Code Online (Sandbox Code Playgroud)

我必须指定所有字段吗?因为数据库中有许多字段需要指定.

python django django-admin

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