Ylisen / dailyfresh-B2C

dailyfresh mall based on B2C model
227 stars 162 forks source link

index页面 #1

Open lekeeith opened 5 years ago

lekeeith commented 5 years ago

显示不出图片 所有图片都显示不出来。 是不是需要导入mysql? 还有fdfs要导入数据吗?

Ylisen commented 5 years ago

可以导入fdfs,它返回的是路径 或者你可以通过后台一张张上传

scjmanbuman commented 5 years ago

我是新手,我安装了Mysql,把你的文件安装到windows server 2016 环境配好了,如何在mysql 里面建立一个dailyfresh的数据库? 我看你把一个叫dailyfresh的sql 放在docs里面,这个如何用?

(base) PS C:\Users\Administrator\dailyfresh-b2c-master\dailyfresh> python manage.py runserver Watching for file changes with StatReloader Performing system checks...

System check identified no issues (0 silenced). Exception in thread django-main-thread: Traceback (most recent call last): File "C:\python37\lib\site-packages\django\db\backends\base\base.py", line 217, in ensure_connection self.connect() File "C:\python37\lib\site-packages\django\db\backends\base\base.py", line 195, in connect self.connection = self.get_new_connection(conn_params) File "C:\python37\lib\site-packages\django\db\backends\mysql\base.py", line 227, in get_new_connection return Database.connect(*conn_params) File "C:\python37\lib\site-packages\pymysql__init__.py", line 94, in Connect return Connection(args, **kwargs) File "C:\python37\lib\site-packages\pymysql\connections.py", line 325, in init self.connect() File "C:\python37\lib\site-packages\pymysql\connections.py", line 599, in connect self._request_authentication() File "C:\python37\lib\site-packages\pymysql\connections.py", line 861, in _request_authentication auth_packet = self._read_packet() File "C:\python37\lib\site-packages\pymysql\connections.py", line 684, in _read_packet packet.check_error() File "C:\python37\lib\site-packages\pymysql\protocol.py", line 220, in check_error err.raise_mysql_exception(self._data) File "C:\python37\lib\site-packages\pymysql\err.py", line 109, in raise_mysql_exception raise errorclass(errno, errval) pymysql.err.InternalError: (1049, "Unknown database 'dailyfresh'")

The above exception was the direct cause of the following exception:

Traceback (most recent call last): File "C:\python37\lib\threading.py", line 917, in _bootstrap_inner self.run() File "C:\python37\lib\threading.py", line 865, in run self._target(*self._args, self._kwargs) File "C:\python37\lib\site-packages\django\utils\autoreload.py", line 54, in wrapper fn(args, kwargs) File "C:\python37\lib\site-packages\django\core\management\commands\runserver.py", line 120, in inner_run self.check_migrations() File "C:\python37\lib\site-packages\django\core\management\base.py", line 453, in check_migrations executor = MigrationExecutor(connections[DEFAULT_DB_ALIAS]) File "C:\python37\lib\site-packages\django\db\migrations\executor.py", line 18, in init self.loader = MigrationLoader(self.connection) File "C:\python37\lib\site-packages\django\db\migrations\loader.py", line 49, in init self.build_graph() File "C:\python37\lib\site-packages\django\db\migrations\loader.py", line 212, in build_graph self.applied_migrations = recorder.applied_migrations() File "C:\python37\lib\site-packages\django\db\migrations\recorder.py", line 73, in applied_migrations if self.has_table(): File "C:\python37\lib\site-packages\django\db\migrations\recorder.py", line 56, in has_table return self.Migration._meta.db_table in self.connection.introspection.table_names(self.connection.cursor()) File "C:\python37\lib\site-packages\django\db\backends\base\base.py", line 256, in cursor return self._cursor() File "C:\python37\lib\site-packages\django\db\backends\base\base.py", line 233, in _cursor self.ensure_connection() File "C:\python37\lib\site-packages\django\db\backends\base\base.py", line 217, in ensure_connection self.connect() File "C:\python37\lib\site-packages\django\db\utils.py", line 89, in exit raise dj_exc_value.with_traceback(traceback) from exc_value File "C:\python37\lib\site-packages\django\db\backends\base\base.py", line 217, in ensure_connection self.connect() File "C:\python37\lib\site-packages\django\db\backends\base\base.py", line 195, in connect self.connection = self.get_new_connection(conn_params) File "C:\python37\lib\site-packages\django\db\backends\mysql\base.py", line 227, in get_new_connection return Database.connect(conn_params) File "C:\python37\lib\site-packages\pymysql__init__.py", line 94, in Connect return Connection(args, kwargs) File "C:\python37\lib\site-packages\pymysql\connections.py", line 325, in init self.connect() File "C:\python37\lib\site-packages\pymysql\connections.py", line 599, in connect self._request_authentication() File "C:\python37\lib\site-packages\pymysql\connections.py", line 861, in _request_authentication auth_packet = self._read_packet() File "C:\python37\lib\site-packages\pymysql\connections.py", line 684, in _read_packet packet.check_error() File "C:\python37\lib\site-packages\pymysql\protocol.py", line 220, in check_error err.raise_mysql_exception(self._data) File "C:\python37\lib\site-packages\pymysql\err.py", line 109, in raise_mysql_exception raise errorclass(errno, errval) django.db.utils.InternalError: (1049, "Unknown database 'dailyfresh'")

Ylisen commented 5 years ago

1、创建一个dailyfresh的数据库, 2、setting文件里配置数据库名,密码等 3、执行数据迁移命令(生成相应的表): python manage.py makemigrations python manage.py migrate

至于dailyfresh.sql 放到数据库里执行,就会生成相应表的数据

At 2019-08-25 15:49:03, "scjmanbuman" notifications@github.com wrote:

我是新手,我安装了Mysql,把你的文件安装到windows server 2016 环境配好了,如何在mysql 里面建立一个dailyfresh的数据库? 我看你把一个叫dailyfresh的sql 放在docs里面,这个如何用?

(base) PS C:\Users\Administrator\dailyfresh-b2c-master\dailyfresh> python manage.py runserver Watching for file changes with StatReloader Performing system checks...

System check identified no issues (0 silenced). Exception in thread django-main-thread: Traceback (most recent call last): File "C:\python37\lib\site-packages\django\db\backends\base\base.py", line 217, in ensure_connection self.connect() File "C:\python37\lib\site-packages\django\db\backends\base\base.py", line 195, in connect self.connection = self.get_new_connection(conn_params) File "C:\python37\lib\site-packages\django\db\backends\mysql\base.py", line 227, in get_new_connection return Database.connect(*conn_params) File "C:\python37\lib\site-packages\pymysqlinit.py", line 94, in Connect return Connection(args, **kwargs) File "C:\python37\lib\site-packages\pymysql\connections.py", line 325, in init self.connect() File "C:\python37\lib\site-packages\pymysql\connections.py", line 599, in connect self._request_authentication() File "C:\python37\lib\site-packages\pymysql\connections.py", line 861, in _request_authentication auth_packet = self._read_packet() File "C:\python37\lib\site-packages\pymysql\connections.py", line 684, in _read_packet packet.check_error() File "C:\python37\lib\site-packages\pymysql\protocol.py", line 220, in check_error err.raise_mysql_exception(self._data) File "C:\python37\lib\site-packages\pymysql\err.py", line 109, in raise_mysql_exception raise errorclass(errno, errval) pymysql.err.InternalError: (1049, "Unknown database 'dailyfresh'")

The above exception was the direct cause of the following exception:

Traceback (most recent call last): File "C:\python37\lib\threading.py", line 917, in _bootstrap_inner self.run() File "C:\python37\lib\threading.py", line 865, in run self._target(*self._args, self._kwargs) File "C:\python37\lib\site-packages\django\utils\autoreload.py", line 54, in wrapper fn(args, kwargs) File "C:\python37\lib\site-packages\django\core\management\commands\runserver.py", line 120, in inner_run self.check_migrations() File "C:\python37\lib\site-packages\django\core\management\base.py", line 453, in check_migrations executor = MigrationExecutor(connections[DEFAULT_DB_ALIAS]) File "C:\python37\lib\site-packages\django\db\migrations\executor.py", line 18, in init self.loader = MigrationLoader(self.connection) File "C:\python37\lib\site-packages\django\db\migrations\loader.py", line 49, in init self.build_graph() File "C:\python37\lib\site-packages\django\db\migrations\loader.py", line 212, in build_graph self.applied_migrations = recorder.applied_migrations() File "C:\python37\lib\site-packages\django\db\migrations\recorder.py", line 73, in applied_migrations if self.has_table(): File "C:\python37\lib\site-packages\django\db\migrations\recorder.py", line 56, in has_table return self.Migration._meta.db_table in self.connection.introspection.table_names(self.connection.cursor()) File "C:\python37\lib\site-packages\django\db\backends\base\base.py", line 256, in cursor return self._cursor() File "C:\python37\lib\site-packages\django\db\backends\base\base.py", line 233, in cursor self.ensure_connection() File "C:\python37\lib\site-packages\django\db\backends\base\base.py", line 217, in ensure_connection self.connect() File "C:\python37\lib\site-packages\django\db\utils.py", line 89, in exit raise dj_exc_value.with_traceback(traceback) from exc_value File "C:\python37\lib\site-packages\django\db\backends\base\base.py", line 217, in ensure_connection self.connect() File "C:\python37\lib\site-packages\django\db\backends\base\base.py", line 195, in connect self.connection = self.get_new_connection(conn_params) File "C:\python37\lib\site-packages\django\db\backends\mysql\base.py", line 227, in get_new_connection return Database.connect(conn_params) File "C:\python37\lib\site-packages\pymysql_init.py", line 94, in Connect return Connection(args, kwargs) File "C:\python37\lib\site-packages\pymysql\connections.py", line 325, in init self.connect() File "C:\python37\lib\site-packages\pymysql\connections.py", line 599, in connect self._request_authentication() File "C:\python37\lib\site-packages\pymysql\connections.py", line 861, in _request_authentication auth_packet = self._read_packet() File "C:\python37\lib\site-packages\pymysql\connections.py", line 684, in _read_packet packet.check_error() File "C:\python37\lib\site-packages\pymysql\protocol.py", line 220, in check_error err.raise_mysql_exception(self._data) File "C:\python37\lib\site-packages\pymysql\err.py", line 109, in raise_mysql_exception raise errorclass(errno, errval) django.db.utils.InternalError: (1049, "Unknown database 'dailyfresh'")

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.

scjmanbuman commented 5 years ago

非常感谢, 试图建立了一个dailyfresh, 执行dailyfresh 还是报错, 我打开dailyfresh.sql 文件, 发现里面只有 insert info 指令, 并没有建立相应的表, 建立表的操作是要自己做? 还是有额外的sql文件?

scjmanbuman commented 5 years ago

建立数据库后, 我执行python manage.py makemigrations, 发现报错, 看来已经建立了数据库连接也找到dailyfresh数据库了, 但是具体的python语句出错了。肯请帮我看看。

C:\Users\Administrator\dailyfresh-B2C-master\dailyfresh>python manage.py makemigrations Traceback (most recent call last): File "manage.py", line 15, in execute_from_command_line(sys.argv) File "C:\python37\lib\site-packages\django\core\management__init.py", line 381, in execute_from_command_line utility.execute() File "C:\python37\lib\site-packages\django\core\management__init__.py", line 375, in execute self.fetch_command(subcommand).run_from_argv(self.argv) File "C:\python37\lib\site-packages\django\core\management\base.py", line 323, in run_from_argv self.execute(*args, cmd_options) File "C:\python37\lib\site-packages\django\core\management\base.py", line 364, in execute output = self.handle(*args, *options) File "C:\python37\lib\site-packages\django\core\management\base.py", line 83, in wrapped res = handle_func(args, kwargs) File "C:\python37\lib\site-packages\django\core\management\commands\makemigrations.py", line 101, in handle loader.check_consistent_history(connection) File "C:\python37\lib\site-packages\django\db\migrations\loader.py", line 283, in check_consistent_history applied = recorder.applied_migrations() File "C:\python37\lib\site-packages\django\db\migrations\recorder.py", line 73, in applied_migrations if self.has_table(): File "C:\python37\lib\site-packages\django\db\migrations\recorder.py", line 56, in has_table return self.Migration._meta.db_table in self.connection.introspection.table_names(self.connection.cursor()) File "C:\python37\lib\site-packages\django\db\backends\base\base.py", line 256, in cursor return self._cursor() File "C:\python37\lib\site-packages\django\db\backends\base\base.py", line 233, in _cursor self.ensure_connection() File "C:\python37\lib\site-packages\django\db\backends\base\base.py", line 217, in ensure_connection self.connect() File "C:\python37\lib\site-packages\django\db\backends\base\base.py", line 197, in connect self.init_connection_state() File "C:\python37\lib\site-packages\django\db\backends\mysql\base.py", line 231, in init_connection_state if self.features.is_sql_auto_is_null_enabled: File "C:\python37\lib\site-packages\django\utils\functional.py", line 80, in get res = instance.dict__[self.name] = self.func(instance) File "C:\python37\lib\site-packages\django\db\backends\mysql\features.py", line 82, in is_sql_auto_is_null_enabled cursor.execute('SELECT @@SQL_AUTO_IS_NULL') File "C:\python37\lib\site-packages\django\db\backends\utils.py", line 103, in execute sql = self.db.ops.last_executed_query(self.cursor, sql, params) File "C:\python37\lib\site-packages\django\db\backends\mysql\operations.py", line 146, in last_executed_query query = query.decode(errors='replace') AttributeError: 'str' object has no attribute 'decode'

(base) C:\Users\Administrator\dailyfresh-B2C-master\dailyfresh>

scjmanbuman commented 5 years ago

百度到类似问题,打开此文件把146行的decode修改为encode 谨以此篇献给DJANGO学习过程中遇到的问题:

一、Django数据同步过程中遇到的问题:

1、raise ImproperlyConfigured('mysqlclient 1.3.13 or newer is required; you have %s.' % Database.version)

   django.core.exceptions.ImproperlyConfigured: mysqlclient 1.3.13 or newer is required; you have 0.9.3.

  解决办法:C:\Python37\Lib\site-packages\django\db\backends\mysql(python安装目录)打开base.py,注释掉以下内容:

       if version < (1, 3, 13):

          raise ImproperlyConfigured('mysqlclient 1.3.13 or newer is required; you have %s.' % Database.version)

  

2、File "C:\Python37\lib\site-packages\django\db\backends\mysql\operations.py", line 146, in last_executed_query

   query = query.decode(errors='replace')

  AttributeError: 'str' object has no attribute 'decode'

  解决办法:打开此文件把146行的decode修改为encode

(base) C:\Users\Administrator\dailyfresh-B2C-master\dailyfresh>python manage.py makemigrations Traceback (most recent call last): File "manage.py", line 15, in execute_from_command_line(sys.argv) File "C:\python37\lib\site-packages\django\core\management__init.py", line 381, in execute_from_command_line utility.execute() File "C:\python37\lib\site-packages\django\core\management__init__.py", line 375, in execute self.fetch_command(subcommand).run_from_argv(self.argv) File "C:\python37\lib\site-packages\django\core\management\base.py", line 323, in run_from_argv self.execute(*args, cmd_options) File "C:\python37\lib\site-packages\django\core\management\base.py", line 364, in execute output = self.handle(*args, *options) File "C:\python37\lib\site-packages\django\core\management\base.py", line 83, in wrapped res = handle_func(args, kwargs) File "C:\python37\lib\site-packages\django\core\management\commands\makemigrations.py", line 101, in handle loader.check_consistent_history(connection) File "C:\python37\lib\site-packages\django\db\migrations\loader.py", line 283, in check_consistent_history applied = recorder.applied_migrations() File "C:\python37\lib\site-packages\django\db\migrations\recorder.py", line 73, in applied_migrations if self.has_table(): File "C:\python37\lib\site-packages\django\db\migrations\recorder.py", line 56, in has_table return self.Migration._meta.db_table in self.connection.introspection.table_names(self.connection.cursor()) File "C:\python37\lib\site-packages\django\db\backends\base\base.py", line 256, in cursor return self._cursor() File "C:\python37\lib\site-packages\django\db\backends\base\base.py", line 233, in _cursor self.ensure_connection() File "C:\python37\lib\site-packages\django\db\backends\base\base.py", line 217, in ensure_connection self.connect() File "C:\python37\lib\site-packages\django\db\backends\base\base.py", line 197, in connect self.init_connection_state() File "C:\python37\lib\site-packages\django\db\backends\mysql\base.py", line 231, in init_connection_state if self.features.is_sql_auto_is_null_enabled: File "C:\python37\lib\site-packages\django\utils\functional.py", line 80, in get res = instance.dict__[self.name] = self.func(instance) File "C:\python37\lib\site-packages\django\db\backends\mysql\features.py", line 82, in is_sql_auto_is_null_enabled cursor.execute('SELECT @@SQL_AUTO_IS_NULL') File "C:\python37\lib\site-packages\django\db\backends\utils.py", line 103, in execute sql = self.db.ops.last_executed_query(self.cursor, sql, params) File "C:\python37\lib\site-packages\django\db\backends\mysql\operations.py", line 146, in last_executed_query query = query.decode(errors='replace') AttributeError: 'str' object has no attribute 'decode'

(base) C:\Users\Administrator\dailyfresh-B2C-master\dailyfresh>python manage.py makemigrations Traceback (most recent call last): File "manage.py", line 15, in execute_from_command_line(sys.argv) File "C:\python37\lib\site-packages\django\core\management__init.py", line 381, in execute_from_command_line utility.execute() File "C:\python37\lib\site-packages\django\core\management__init.py", line 357, in execute django.setup() File "C:\python37\lib\site-packages\django\init.py", line 24, in setup apps.populate(settings.INSTALLED_APPS) File "C:\python37\lib\site-packages\django\apps\registry.py", line 114, in populate app_config.import_models() File "C:\python37\lib\site-packages\django\apps\config.py", line 211, in import_models self.models_module = import_module(models_module_name) File "C:\python37\lib\importlib\init__.py", line 127, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "", line 1006, in _gcd_import File "", line 983, in _find_and_load File "", line 967, in _find_and_load_unlocked File "", line 677, in _load_unlocked File "", line 728, in exec_module File "", line 219, in _call_with_frames_removed File "C:\python37\lib\site-packages\django\contrib\auth\models.py", line 2, in from django.contrib.auth.base_user import AbstractBaseUser, BaseUserManager File "C:\python37\lib\site-packages\django\contrib\auth\base_user.py", line 47, in class AbstractBaseUser(models.Model): File "C:\python37\lib\site-packages\django\db\models\base.py", line 117, in new new_class.add_to_class('_meta', Options(meta, app_label)) File "C:\python37\lib\site-packages\django\db\models\base.py", line 321, in add_to_class value.contribute_to_class(cls, name) File "C:\python37\lib\site-packages\django\db\models\options.py", line 204, in contribute_to_class self.db_table = truncate_name(self.db_table, connection.ops.max_name_length()) File "C:\python37\lib\site-packages\django\db\init.py", line 28, in getattr return getattr(connections[DEFAULT_DB_ALIAS], item) File "C:\python37\lib\site-packages\django\db\utils.py", line 201, in getitem backend = load_backend(db['ENGINE']) File "C:\python37\lib\site-packages\django\db\utils.py", line 110, in load_backend return import_module('%s.base' % backend_name) File "C:\python37\lib\importlib\init__.py", line 127, in import_module return _bootstrap._gcd_import(name[level:], package, level) File "C:\python37\lib\site-packages\django\db\backends\mysql\base.py", line 30, in from .operations import DatabaseOperations # isort:skip File "C:\python37\lib\site-packages\django\db\backends\mysql\operations.py", line 148    #query = query.decode(errors='replace') ^ IndentationError: expected an indented block

(base) C:\Users\Administrator\dailyfresh-B2C-master\dailyfresh> (base) C:\Users\Administrator\dailyfresh-B2C-master\dailyfresh> (base) C:\Users\Administrator\dailyfresh-B2C-master\dailyfresh>python manage.py makemigrations Migrations for 'order': apps\order\migrations\0004_auto_20190827_1550.py

(base) C:\Users\Administrator\dailyfresh-B2C-master\dailyfresh>python manage.py makemigrations No changes detected

(base) C:\Users\Administrator\dailyfresh-B2C-master\dailyfresh>python manage.py makemigrations No changes detected

(base) C:\Users\Administrator\dailyfresh-B2C-master\dailyfresh>python manage.py migrate Operations to perform: Apply all migrations: admin, auth, contenttypes, goods, order, sessions, user Running migrations: Applying contenttypes.0001_initial... OK Applying contenttypes.0002_remove_content_type_name... OK Applying auth.0001_initial... OK Applying auth.0002_alter_permission_name_max_length... OK Applying auth.0003_alter_user_email_max_length... OK Applying auth.0004_alter_user_username_opts... OK Applying auth.0005_alter_user_last_login_null... OK Applying auth.0006_require_contenttypes_0002... OK Applying auth.0007_alter_validators_add_error_messages... OK Applying auth.0008_alter_user_username_max_length... OK Applying auth.0009_alter_user_last_name_max_length... OK Applying user.0001_initial... OK Applying admin.0001_initial... OK Applying admin.0002_logentry_remove_auto_add... OK Applying admin.0003_logentry_add_action_flag_choices... OK Applying auth.0010_alter_group_name_max_length... OK Applying auth.0011_update_proxy_permissions... OK Applying goods.0001_initial... OK Applying order.0001_initial... OK Applying order.0002_auto_20190302_1646... OK Applying order.0003_auto_20190319_1651... OK Applying order.0004_auto_20190827_1550... OK Applying sessions.0001_initial... OK

(base) C:\Users\Administrator\dailyfresh-B2C-master\dailyfresh>

scjmanbuman commented 5 years ago

已经执行dailyfresh.sql ,感谢大神!! image

scjmanbuman commented 5 years ago

hi 大神, 最新进展,我已经可以跑起来了,但是我也是无法显示图片,发现我没有fdfs服务器, 我的环境的windows server 2016 + apache. 网上说无法在win下配置fdfs, 我想再买一个linux云服务器,配置fdfs + ngix 服务, 然后这个服务器win服务器访问 linux 服务器可以?


设置Django的文件存储类

DEFAULT_FILE_STORAGE = 'utils.fdfs.storage.FDFSStorage'

设置fdfs使用的client.conf文件路径

FDFS_CLIENT_CONF = './utils/fdfs/client.conf'

设置fdfs存储服务器上nginx的IP和端口号

FDFS_URL = 'http://xxxx:80/'

image

appleyuchi commented 4 years ago

所以这个项目是无法运行的吗?