سلام. در deploy پروژه بعد از migrate کردن پیام خطای زیر داده شده:
Traceback (most recent call last):
File "/home/firouzeh/virtualenv/firouzeh_hotel_project/3.7/lib/python3.7/site-packages/django/db/backends/base/base.py", line 219, in ensure_connection
self.connect()
File "/home/firouzeh/virtualenv/firouzeh_hotel_project/3.7/lib/python3.7/site-packages/django/utils/asyncio.py", line 33, in inner
return func(*args, **kwargs)
File "/home/firouzeh/virtualenv/firouzeh_hotel_project/3.7/lib/python3.7/site-packages/django/db/backends/base/base.py", line 200, in connect
self.connection = self.get_new_connection(conn_params)
File "/home/firouzeh/virtualenv/firouzeh_hotel_project/3.7/lib/python3.7/site-packages/mysql/connector/django/base.py", line 366, in get_new_connection
cnx = mysql.connector.connect(**conn_params)
File "/home/firouzeh/virtualenv/firouzeh_hotel_project/3.7/lib/python3.7/site-packages/mysql/connector/pooling.py", line 286, in connect
return CMySQLConnection(*args, **kwargs)
File "/home/firouzeh/virtualenv/firouzeh_hotel_project/3.7/lib/python3.7/site-packages/mysql/connector/connection_cext.py", line 101, in __init__
self.connect(**kwargs)
File "/home/firouzeh/virtualenv/firouzeh_hotel_project/3.7/lib/python3.7/site-packages/mysql/connector/abstracts.py", line 1099, in connect
self._post_connection()
File "/home/firouzeh/virtualenv/firouzeh_hotel_project/3.7/lib/python3.7/site-packages/mysql/connector/abstracts.py", line 1071, in _post_connection
self.set_charset_collation(self._charset_id)
File "/home/firouzeh/virtualenv/firouzeh_hotel_project/3.7/lib/python3.7/site-packages/mysql/connector/abstracts.py", line 1016, in set_charset_collation
) = CharacterSet.get_charset_info(charset)
File "/home/firouzeh/virtualenv/firouzeh_hotel_project/3.7/lib/python3.7/site-packages/mysql/connector/constants.py", line 775, in get_charset_info
info = cls.get_default_collation(charset)
File "/home/firouzeh/virtualenv/firouzeh_hotel_project/3.7/lib/python3.7/site-packages/mysql/connector/constants.py", line 746, in get_default_collation
raise ProgrammingError(f"Character set '{charset}' unsupported")
mysql.connector.errors.ProgrammingError: Character set '255' unsupported
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "manage.py", line 22, in <module>
main()
File "manage.py", line 18, in main
execute_from_command_line(sys.argv)
File "/home/firouzeh/virtualenv/firouzeh_hotel_project/3.7/lib/python3.7/site-packages/django/core/management/__init__.py", line 419, in execute_from_command_line
utility.execute()
File "/home/firouzeh/virtualenv/firouzeh_hotel_project/3.7/lib/python3.7/site-packages/django/core/management/__init__.py", line 413, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/home/firouzeh/virtualenv/firouzeh_hotel_project/3.7/lib/python3.7/site-packages/django/core/management/base.py", line 354, in run_from_argv
self.execute(*args, **cmd_options)
File "/home/firouzeh/virtualenv/firouzeh_hotel_project/3.7/lib/python3.7/site-packages/django/core/management/base.py", line 398, in execute
output = self.handle(*args, **options)
File "/home/firouzeh/virtualenv/firouzeh_hotel_project/3.7/lib/python3.7/site-packages/django/core/management/base.py", line 89, in wrapped
res = handle_func(*args, **kwargs)
File "/home/firouzeh/virtualenv/firouzeh_hotel_project/3.7/lib/python3.7/site-packages/django/core/management/commands/migrate.py", line 75, in handle
self.check(databases=[database])
File "/home/firouzeh/virtualenv/firouzeh_hotel_project/3.7/lib/python3.7/site-packages/django/core/management/base.py", line 423, in check
databases=databases,
File "/home/firouzeh/virtualenv/firouzeh_hotel_project/3.7/lib/python3.7/site-packages/django/core/checks/registry.py", line 76, in run_checks
new_errors = check(app_configs=app_configs, databases=databases)
File "/home/firouzeh/virtualenv/firouzeh_hotel_project/3.7/lib/python3.7/site-packages/django/core/checks/database.py", line 13, in check_database_backends
issues.extend(conn.validation.check(**kwargs))
File "/home/firouzeh/virtualenv/firouzeh_hotel_project/3.7/lib/python3.7/site-packages/django/db/backends/mysql/validation.py", line 9, in check
issues.extend(self._check_sql_mode(**kwargs))
File "/home/firouzeh/virtualenv/firouzeh_hotel_project/3.7/lib/python3.7/site-packages/django/db/backends/mysql/validation.py", line 13, in _check_sql_mode
if not (self.connection.sql_mode & {'STRICT_TRANS_TABLES', 'STRICT_ALL_TABLES'}):
File "/home/firouzeh/virtualenv/firouzeh_hotel_project/3.7/lib/python3.7/site-packages/django/utils/functional.py", line 48, in __get__
res = instance.__dict__[self.name] = self.func(instance)
File "/home/firouzeh/virtualenv/firouzeh_hotel_project/3.7/lib/python3.7/site-packages/mysql/connector/django/base.py", line 551, in sql_mode
with self.cursor() as cursor:
File "/home/firouzeh/virtualenv/firouzeh_hotel_project/3.7/lib/python3.7/site-packages/django/utils/asyncio.py", line 33, in inner
return func(*args, **kwargs)
File "/home/firouzeh/virtualenv/firouzeh_hotel_project/3.7/lib/python3.7/site-packages/django/db/backends/base/base.py", line 259, in cursor
return self._cursor()
File "/home/firouzeh/virtualenv/firouzeh_hotel_project/3.7/lib/python3.7/site-packages/django/db/backends/base/base.py", line 235, in _cursor
self.ensure_connection()
File "/home/firouzeh/virtualenv/firouzeh_hotel_project/3.7/lib/python3.7/site-packages/django/utils/asyncio.py", line 33, in inner
return func(*args, **kwargs)
File "/home/firouzeh/virtualenv/firouzeh_hotel_project/3.7/lib/python3.7/site-packages/django/db/backends/base/base.py", line 219, in ensure_connection
self.connect()
File "/home/firouzeh/virtualenv/firouzeh_hotel_project/3.7/lib/python3.7/site-packages/django/db/utils.py", line 90, in __exit__
raise dj_exc_value.with_traceback(traceback) from exc_value
File "/home/firouzeh/virtualenv/firouzeh_hotel_project/3.7/lib/python3.7/site-packages/django/db/backends/base/base.py", line 219, in ensure_connection
self.connect()
File "/home/firouzeh/virtualenv/firouzeh_hotel_project/3.7/lib/python3.7/site-packages/django/utils/asyncio.py", line 33, in inner
return func(*args, **kwargs)
File "/home/firouzeh/virtualenv/firouzeh_hotel_project/3.7/lib/python3.7/site-packages/django/db/backends/base/base.py", line 200, in connect
self.connection = self.get_new_connection(conn_params)
File "/home/firouzeh/virtualenv/firouzeh_hotel_project/3.7/lib/python3.7/site-packages/mysql/connector/django/base.py", line 366, in get_new_connection
cnx = mysql.connector.connect(**conn_params)
File "/home/firouzeh/virtualenv/firouzeh_hotel_project/3.7/lib/python3.7/site-packages/mysql/connector/pooling.py", line 286, in connect
return CMySQLConnection(*args, **kwargs)
File "/home/firouzeh/virtualenv/firouzeh_hotel_project/3.7/lib/python3.7/site-packages/mysql/connector/connection_cext.py", line 101, in __init__
self.connect(**kwargs)
File "/home/firouzeh/virtualenv/firouzeh_hotel_project/3.7/lib/python3.7/site-packages/mysql/connector/abstracts.py", line 1099, in connect
self._post_connection()
File "/home/firouzeh/virtualenv/firouzeh_hotel_project/3.7/lib/python3.7/site-packages/mysql/connector/abstracts.py", line 1071, in _post_connection
self.set_charset_collation(self._charset_id)
File "/home/firouzeh/virtualenv/firouzeh_hotel_project/3.7/lib/python3.7/site-packages/mysql/connector/abstracts.py", line 1016, in set_charset_collation
) = CharacterSet.get_charset_info(charset)
File "/home/firouzeh/virtualenv/firouzeh_hotel_project/3.7/lib/python3.7/site-packages/mysql/connector/constants.py", line 775, in get_charset_info
info = cls.get_default_collation(charset)
File "/home/firouzeh/virtualenv/firouzeh_hotel_project/3.7/lib/python3.7/site-packages/mysql/connector/constants.py", line 746, in get_default_collation
raise ProgrammingError(f"Character set '{charset}' unsupported")
django.db.utils.ProgrammingError: (-1, "Character set '255' unsupported", None)
فایل manage.py هم به صورت زیر هست:
#!/usr/bin/env python
"""Django's command-line utility for administrative tasks."""
import os
import sys
def main():
"""Run administrative tasks."""
os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'FirouzehHotel.settings')
try:
from django.core.management import execute_from_command_line
except ImportError as exc:
raise ImportError(
"Couldn't import Django. Are you sure it's installed and "
"available on your PYTHONPATH environment variable? Did you "
"forget to activate a virtual environment?"
) from exc
execute_from_command_line(sys.argv)
if __name__ == '__main__':
main()
چطور میتونم رفعش کنم. با تشکر
و همچنین این خطا:
File "manage.py", line 17
) from exc
^
SyntaxError: invalid syntax
سلام دوست من
فکر میکنم مشکل از venv هستش
یک بار پروژه ی python رو از تب python پاک کنین و مجدد ایجاد کنین تا مشکل برطرف بشه
سلام استاد گرامی
از قسمت python app اپی که ساختم رو پاک کردم و دوباره اپ رو ساختم حل نشد. آیا این ایراد از اتصال به mysql نیست؟ بعضی از خطوطش درباره mysql-connector نوشته
با سلام.
در واقع دو Error مختلف است که یکی همان طور که استاد اشاره کرد به venv مربوط است و دیگری به DB و character set ها و collation های استفاده شده مرتبط است.
این پست را نیز ببینید.
سلام
پست رو دیدم
پکیج جنگو را که دوباره پاک کردم و نصب کردم حل نشد اما mysqlClient رو نمیدونم چطور ست کنم. دو تا دیگه سایت اوردم بالاهمچین مشکلی نداشتم ولی این یکی خطا داده. ایراد از پکیج connector هست فکر کنم مثل همین پستی که فرستادین
برای نصب mySqlClient لطفا فیلم آموزشی یا پستی هست که راهنمایی بفرمایین؟
بنظرم شما که دوره به این خوبی برگزار کردین یه آپدیت بزارین و این مطالب را اضافه کنین
mysqlClient رو نمیدونم چطور ست کنم
ابتدا package آنرا نصب کنید:
pip install mysqlclient
سپس در settings:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': 'YourDatabasetName',
'USER': 'UserName',
'PASSWORD': 'password',
'HOST': 'localhost',
'PORT': '3306',
}
}
سپس migrate ها را اجرا کنید.
تشکر فراوان. مشکل برطرف شد
خوشحالم که مشکل برطرف شد دوست من
ممنونم از شما اقا / خانم weby عزیز
خواهش می کنم.