Дистрибутивный проект Django работает по-разному с локальным проектом.У меня есть проект Django, в нем есть создание APIView, в моем локальном репо, он работает нормально, но когда я перенесу репо на удаленный, затем запустите его с
screen -d -m python3 -m Qy.wsgi
, и если я получаю доступ к URL-адресу создания, появляется ошибка 500 Server Error
.
, но в моем локальном репо все работает нормально.
код, указанный ниже:
модель:
class Currency(models.Model):
name = models.CharField(max_length=16)
desc = models.CharField(max_length=128, null=True, blank=True)
standard_symbol = models.CharField(max_length=8)
ex_rate = models.DecimalField(decimal_places=4, default=0.0000, max_digits=10)
class Meta:
ordering = ['-standard_symbol']
def __str__(self):
return self.name
def __unicode__(self):
return self.name
apiview:
class CurrencyCreateAPIView(CreateAPIView):
serializer_class = CurrencySerializer
permission_classes = [IsSuperAdminOrFinanceAdmin]
queryset = Currency.objects.all()
сериализатор:
class CurrencySerializer(ModelSerializer):
class Meta:
model = Currency
fields = "__all__"
Я просто не знаю, почему в дистрибутиве его нельзя создать с китайскимсимволов.
Я имею в виду, если я напишу все номера, например:
name: 123, desc: 123, standard_symbol: 123, ex_rate:1233
, это приведет к успеху.
или еслиАнглийские иероглифы тоже будут работать, но если есть китайский иероглиф, он сообщит 500 Server Error
.Я использую MySQL в качестве базы данных.
, но в локальном репо он будет работать, если он содержит китайские иероглифы.
код удаленного репо такой же, как и в локальном репо.
Моя локальная операционная система репо: MacOS
Моя удаленная операционная система репо: CentOS7.2
РЕДАКТИРОВАТЬ-1
Мои настройки wsgi.py
ниже:
import os
from django.core.wsgi import get_wsgi_application
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "qy.settings")
import django
print("django.setup()")
django.setup()
from socketio import Middleware
from qysio.views import sio
django_app = get_wsgi_application()
application = Middleware(sio, django_app)
import eventlet
import eventlet.wsgi
eventlet.wsgi.server(eventlet.listen(('', 8000)), application)
РЕДАКТИРОВАТЬ-2
Я установил DEBUG=True
в settings.py, и при редактировании я получил ошибку ниже(аналогично использованию create):
OperationalError at /api/productconfig/price_system/currency/1/edit/
(1366, "Incorrect string value: '\\xE4\\xBA\\xBA\\xE6\\xB0\\x91...' for column 'name' at row 1")