我使用了一个模型字段对象field_object = MyModel._meta.get_field(field_name)
。如何获得字段对象的值(内容)?
我正在按照本教程将Graphene与Django一起使用,一切都进行得很顺利,直到我到达了与 Django Rest Framework的集成部分。
本节说您可以通过创建序列化器克隆来将DRF序列化器与Graphene重用,但它没有说明如何处理此类克隆以将DRF序列化器与Graphene重用。
这些是我的序列化程序和克隆:
from rest_framework import serializers
from graphene_django.rest_framework.mutation import SerializerMutation
from GeneralApp.models import Airport
from ReservationsManagerApp.serializers import ReservationSerializer
from ReservationsManagerApp.models import ReservationComponent, ReservationHotel, ReservationRoundtrip, ReservationTransfer, ReservationTour, ReservationService, Hotel
class ReservationMutation(SerializerMutation):
class Meta:
serializer_class = ReservationSerializer
class ReservationComponentGraphSerializer(serializers.ModelSerializer):
component = serializers.SerializerMethodField()
class Meta:
model = ReservationComponent
fields = ('id', 'reservation', 'dertour_bk', 'day', 'content_type', 'object_id', 'comment', 'is_invoiced', 'component')
def get_component(self, …
Run Code Online (Sandbox Code Playgroud) 我有一个 Django 项目,我使用 Pillow 在某些模型中存储图像,但我希望这些图像被压缩存储。当图像保存到模型ImageField时,如何指示 Pillow 压缩图像时,如何指示 Pillow 压缩图像?
这是带有ImageField的模型示例:
class Photo(models.Model):
name = models.CharField(max_length=100, null=True, blank=True, verbose_name=_("Name"))
album = models.ForeignKey(Album, on_delete=models.PROTECT, related_name='photos', verbose_name=_("Album"))
photo = models.ImageField(verbose_name=_("Photo"))
class Meta:
verbose_name = _("Photo")
verbose_name_plural =_("Photos")
def __str__(self):
return "[{}] {}".format(self.pk, self.name)
Run Code Online (Sandbox Code Playgroud)
我可以看到存储后的文件,并且可以看到它的大小与原始源文件相同。
我正在使用Django Rest Framework从前端获取图像。
python django django-models python-imaging-library django-rest-framework
我一直在尝试使用python-docx执行一些高级 Word 文档操作,但建议我使用 Microsoft Office API。
问题是我无法win32api
从pywin32 主页安装,因为出现以下错误:
(IntellibookVenv) MacBook-Pro-de-Hugo:Intellibook hugovillalobos$ pip install pywin32
Collecting pywin32
Could not find a version that satisfies the requirement pywin32 (from versions: )
No matching distribution found for pywin32
Run Code Online (Sandbox Code Playgroud)
我不知道是否因为没有适用于 Mac 的win32api版本而收到错误,或者是否我做错了什么。
我正在按照本教程https://flask.palletsprojects.com/en/1.1.x/#user-s-guide学习Flask但是,当我尝试运行时,出现此错误:pytest
(FlaskVenv) MacBook-Pro-de-Hugo:FlaskProject hugovillalobos$ pytest
ImportError while loading conftest '/Users/hugovillalobos/Documents/Code/FlaskProject/tests/conftest.py'.
tests/conftest.py:4: in <module>
from Flaskr import create_app
E ModuleNotFoundError: No module named 'Flaskr'
Run Code Online (Sandbox Code Playgroud)
这是引发错误 ( conftest.py
)的模块:
import os
import tempfile
import pytest
from Flaskr import create_app
from Flaskr.db import get_db, init_db
with open(os.path.join(os.path.dirname(__file__), 'data.sql'), 'rb') as f:
_data_sql = f.read().decode('utf8')
@pytest.fixture
def app():
db_fd, db_path = tempfile.mkstemp()
app = create_app({
'TESTING': True,
'DATABASE': db_path,
})
with app.app_context():
init_db()
get_db().executescript(_data_sql)
yield app
os.close(db_fd)
os.unlink(db_path)
@pytest.fixture …
Run Code Online (Sandbox Code Playgroud) 我正在使用 React Native 开发一个在 IOS 和 Android 上运行的应用程序。我用来Intl.numberformat()
打印货币,当应用程序在 IOS 上运行时运行顺利,但在 Android 上运行时出现此错误:ReferenceError: Can't find variable: Intl
。
如何让它在两个平台上运行?
我正在尝试使用 pip 安装 django-adim-tools,但这就是发生的情况:
C:\Users\hugo.villalobos>pip install django-admin-tools
Could not import runpy module
Traceback (most recent call last):
File "C:\Python34\Lib\runpy.py", line 14, in <module>
import importlib.machinery # importlib first so we can test #15386 via -m
File "C:\Python34\Lib\importlib\__init__.py", line 34, in <module>
_w_long = _bootstrap._w_long
AttributeError: module 'importlib._bootstrap' has no attribute '_w_long'
Run Code Online (Sandbox Code Playgroud)
我不知道如何继续解决它。谢谢你的帮助
我有一个名为的模型Product
和两个以不同方式管理同一个模型的视图集。每个人都必须为 field 设置不同的值product_type
,该值在序列化程序中设置为 read_only SuplementSerializer
。
我试图覆盖perform_create()
method 并设置 field 的值product_type
,但它始终采用默认值。
这是我的模型:
class Product(models.Model):
ROOM = 'ROOM'
SUPLEMENT = 'SUPLEMENT'
PRODUCT_TYPE_CHOICES = (
(ROOM, _('Room')),
(SUPLEMENT, _('Suplement'))
)
hotel = models.ForeignKey(Hotel, on_delete=models.PROTECT, related_name='products', verbose_name=_('Hotel'))
name = models.CharField(max_length=100, verbose_name=_('Name'))
product_type = models.CharField(max_length=9, choices=PRODUCT_TYPE_CHOICES, default=ROOM, verbose_name=_('Product Type'))
room_type = models.ForeignKey(RoomType, null=True, blank=True, on_delete=models.PROTECT, related_name='products', verbose_name=_('Room Type'))
plan_type = models.ForeignKey(PlanType, null=True, blank=True, on_delete=models.PROTECT, related_name='products', verbose_name=_('Plan Type'))
content_type = models.ForeignKey(ContentType, null=True, blank=True, on_delete=models.PROTECT, related_name='rate_base_products', verbose_name=_('Rate Base'))
object_id …
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用Postman来测试我的 DRF 端点,但总是出现错误Authentication credentials were not provided.
。端点工作正常,但我还没有找到如何从Postman发送请求。
我能够获取用户的令牌:
但是当我尝试使用令牌发送请求时总是收到错误:
我将授权类型设置为Inherit auth from parent
。
这是视图的代码:
class AlbumViewSet(viewsets.ModelViewSet):
permission_classes = (permissions.IsAuthenticated,)
queryset = proxies.AlbumProxy.objects.all()
serializer_class = serializers.AlbumSerializer
filter_backends = (DjangoFilterBackend, SearchFilter, OrderingFilter,)
search_fields = ('name', 'description', 'company__name')
filter_fields = ('code', 'company')
def get_permissions(self):
if self.action == 'retrieve':
return []
return super(AlbumViewSet, self).get_permissions()
def retrieve(self, request, pk):
password = request.query_params.get('password', None)
try:
instance = proxies.AlbumProxy.objects.get(pk=pk)
except:
return Response({'success': False, 'code': 1})
if instance.access_code …
Run Code Online (Sandbox Code Playgroud) 这是我的.gitignore
:
*__pycache__*
*.pyc
db.sqlite3
*.DS_Store
media/
res/
Run Code Online (Sandbox Code Playgroud)
我可以在我的Atom 上看到__pycache__
目录是 VcsIgnored(这意味着被识别为不受git控制的版本)
但是,无论如何,当我对文件进行更改时,我会__pycache__
在Atom git 窗口中得到几个已修改和未暂存的文件:
我不知道问题出在git还是在Atom 中。