django与fastdfs交互出错 服务器上的fastdfs测试可用
Traceback:
File "/Users/xion/venvs/dailyfresh/lib/python3.7/site-packages/django/core/handlers/exception.py" in inner 34. response = get_response(request)
File "/Users/xion/venvs/dailyfresh/lib/python3.7/site-packages/django/core/handlers/base.py" in _get_response 126. response = self.process_exception_by_middleware(e, request)
File "/Users/xion/venvs/dailyfresh/lib/python3.7/site-packages/django/core/handlers/base.py" in _get_response 124. response = wrapped_callback(request, callback_args, *callback_kwargs)
File "/Users/xion/venvs/dailyfresh/lib/python3.7/site-packages/django/contrib/admin/options.py" in wrapper 604. return self.admin_site.admin_view(view)(args, *kwargs)
File "/Users/xion/venvs/dailyfresh/lib/python3.7/site-packages/django/utils/decorators.py" in _wrapped_view 142. response = view_func(request, args, *kwargs)
File "/Users/xion/venvs/dailyfresh/lib/python3.7/site-packages/django/views/decorators/cache.py" in _wrapped_view_func 44. response = view_func(request, args, *kwargs)
File "/Users/xion/venvs/dailyfresh/lib/python3.7/site-packages/django/contrib/admin/sites.py" in inner 223. return view(request, args, *kwargs)
File "/Users/xion/venvs/dailyfresh/lib/python3.7/site-packages/django/contrib/admin/options.py" in add_view 1637. return self.changeform_view(request, None, form_url, extra_context)
File "/Users/xion/venvs/dailyfresh/lib/python3.7/site-packages/django/utils/decorators.py" in _wrapper 45. return bound_method(args, *kwargs)
File "/Users/xion/venvs/dailyfresh/lib/python3.7/site-packages/django/utils/decorators.py" in _wrapped_view 142. response = view_func(request, args, *kwargs)
File "/Users/xion/venvs/dailyfresh/lib/python3.7/site-packages/django/contrib/admin/options.py" in changeform_view 1525. return self._changeform_view(request, object_id, form_url, extra_context)
File "/Users/xion/venvs/dailyfresh/lib/python3.7/site-packages/django/contrib/admin/options.py" in _changeform_view 1564. self.save_model(request, new_object, form, not add)
File "/Users/xion/venvs/dailyfresh/lib/python3.7/site-packages/django/contrib/admin/options.py" in save_model 1091. obj.save()
File "/Users/xion/venvs/dailyfresh/lib/python3.7/site-packages/django/db/models/base.py" in save 718. force_update=force_update, update_fields=update_fields)
File "/Users/xion/venvs/dailyfresh/lib/python3.7/site-packages/django/db/models/base.py" in save_base 748. updated = self._save_table(raw, cls, force_insert, force_update, using, update_fields)
File "/Users/xion/venvs/dailyfresh/lib/python3.7/site-packages/django/db/models/base.py" in _save_table 831. result = self._do_insert(cls._base_manager, using, fields, update_pk, raw)
File "/Users/xion/venvs/dailyfresh/lib/python3.7/site-packages/django/db/models/base.py" in _do_insert 869. using=using, raw=raw)
File "/Users/xion/venvs/dailyfresh/lib/python3.7/site-packages/django/db/models/manager.py" in manager_method 82. return getattr(self.get_queryset(), name)(args, *kwargs)
File "/Users/xion/venvs/dailyfresh/lib/python3.7/site-packages/django/db/models/query.py" in _insert 1136. return query.get_compiler(using=using).execute_sql(return_id)
File "/Users/xion/venvs/dailyfresh/lib/python3.7/site-packages/django/db/models/sql/compiler.py" in execute_sql 1288. for sql, params in self.as_sql():
File "/Users/xion/venvs/dailyfresh/lib/python3.7/site-packages/django/db/models/sql/compiler.py" in as_sql 1241. for obj in self.query.objs
File "/Users/xion/venvs/dailyfresh/lib/python3.7/site-packages/django/db/models/sql/compiler.py" in
File "/Users/xion/venvs/dailyfresh/lib/python3.7/site-packages/django/db/models/sql/compiler.py" in
File "/Users/xion/venvs/dailyfresh/lib/python3.7/site-packages/django/db/models/sql/compiler.py" in pre_save_val 1192. return field.pre_save(obj, add=True)
File "/Users/xion/venvs/dailyfresh/lib/python3.7/site-packages/django/db/models/fields/files.py" in pre_save 288. file.save(file.name, file.file, save=False)
File "/Users/xion/venvs/dailyfresh/lib/python3.7/site-packages/django/db/models/fields/files.py" in save 87. self.name = self.storage.save(name, content, max_length=self.field.max_length)
File "/Users/xion/venvs/dailyfresh/lib/python3.7/site-packages/django/core/files/storage.py" in save 49. return self._save(name, content)
File "/Users/xion/python/bj18/dailyfresh/utils/fdfs/storage.py" in _save 36. raise Exception('上传文件到fastdfs失败')
Exception Type: Exception at /admin/goods/goodstype/add/ Exception Value: 上传文件到fastdfs失败
请教一下懂的大佬,谢谢
评论 5
pycharm还有提示
getting connection <fdfs_client.connection.Connection object at 0x108d285c0> <fdfs_client.fdfs_protol.Tracker_header object at 0x108d28ef0> Internal Server Error: /admin/goods/goodstype/add/
"POST /admin/goods/goodstype/add/ HTTP/1.1" 500 178521
from django.core.files.storage import Storage from django.conf import settings from fdfs_client.client import Fdfs_client from django.utils.deconstruct import deconstructible
@deconstructible class FDFSStorage(Storage): '''fast dfs文件存储类''' def init(self,client_conf=None,base_url=None): '''初始化''' if client_conf is None: client_conf = settings.FDFS_CLIENT_CONF self.client_conf = client_conf if base_url is None: base_url = settings.FDFS_SERVER_URL self.base_url = base_url
另外 由于服务器80 8888端口有程序占用 将nginx改为 server { listen 9999; server_name localhost; location ~/group[0-9]/ { ngx_fastdfs_module; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } }
connect timeout in seconds
default value is 30s
connect_timeout=30
network timeout in seconds
default value is 30s
network_timeout=60
the base path to store log files
base_path=/Users/xion/djtest/log
tracker_server can ocur more than once, and tracker_server format is
"host:port", host can be hostname or ip address
tracker_server=服务器ip:22122
standard log level as syslog, case insensitive, value list:
emerg for emergency
alert
crit for critical
error
warn for warning
notice
info
debug
log_level=info
if use connection pool
default value is false
since V4.05
use_connection_pool = false
connections whose the idle time exceeds this time will be closed
unit: second
default value is 3600
since V4.05
connection_pool_max_idle_time = 3600
if load FastDFS parameters from tracker server
since V4.05
default value is false
load_fdfs_parameters_from_tracker=false
if use storage ID instead of IP address
same as tracker.conf
valid only when load_fdfs_parameters_from_tracker is false
default value is false
since V4.05
use_storage_id = false
specify storage ids filename, can use relative or absolute path
same as tracker.conf
valid only when load_fdfs_parameters_from_tracker is false
since V4.05
storage_ids_filename = storage_ids.conf
HTTP settings
http.tracker_server_port=80
use "#include" directive to include HTTP other settiongs
include http.conf
pycharm下的client.conf文件
最新发现 应该是storage.py代码有错 但是没有找到哪里出错
浪费了多天 好想哭
现在解决了没有?