我的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)
我希望这些文件用于添加页面,但不同的字段用于更改页面.我怎样才能做到这一点?
快速提问:在开发Django项目时使用sqlite并在生产服务器上使用MySQL是个好主意吗?
我已成功设置我的应用程序以使用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) 它并不总是这个代码块,但这是最新的.它似乎是随机的,任何想法?
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) 任何人都可以提供一个关于使用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字段,所以请求可能没问题.我哪里做错了?代码片段是最受欢迎的,谢谢!
我是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没有得到应该在用户模型中查看.
我在这里错过了什么?如何告诉这个序列化器我想要用户内的一些字段?我也需要能够创建用户.
我正在使用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对象.
如何从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) 我有一个查询,需要使用ID过滤2个作者
从理论上讲,
Book.objects.filter(author__id=1, author__id=2).
Run Code Online (Sandbox Code Playgroud)
这是不可能的.
我怎么解决这个问题?
干杯,米奇
我创建了一个模型,它将自动显示模型中的所有字段并将其显示在管理页面上.
现在,我有一个问题,我想在同一行上有两个字段,为此我必须在ModelAdmin指定字段集:
fieldsets = (
(None, {
'fields': (('firstname', 'lastname'),)
}),
)
Run Code Online (Sandbox Code Playgroud)
我必须指定所有字段吗?因为数据库中有许多字段需要指定.
django ×10
python ×10
django-admin ×2
django-views ×1
many-to-many ×1
mysql ×1
sqlite ×1
tastypie ×1