【发布时间】:2019-07-29 02:08:05
【问题描述】:
我对 django 还是很陌生,并且在 https://github.com/mkaykisiz/DjangoS3Browser/ 的一个项目上工作,在添加 "url(r'^' + settings.S3_BROWSER_SETTINGS + '/', include('djangoS3Browser .s3_browser.urls'))," 到 url.py 的行
项目结构: 我有 s3_browser 目录下的视图,因此导入了相同的你能纠正我吗?下面是我的项目结构:
└───djangoS3Browser
└───manage.py
├───s3_browser
│ └───__pycache__
└─── operations.py
└─── settings.py
└─── urls.py
└─── views.py
└─── wsgi.py
├───static
│ ├───css
│ ├───images
│ └───js
├───templates
├───templatetags
URL.py
from django.conf.urls import url, include
from django.conf.urls.static import static
from djangoS3Browser.s3_browser import settings
from djangoS3Browser.s3_browser import views
import sys
urlpatterns = [
url(r'^get_folder_items/(.+)/(.+)/$', views.get_folder_items, name='get_folder_items'),
url(r'^upload/$', views.upload, name='upload'),
url(r'^create_folder/$', views.create_folder, name='create_folder'),
url(r'^download/$', views.download, name='download'),
url(r'^rename_file/$', views.rename_file, name='rename_file'),
url(r'^paste_file/$', views.paste_file, name='paste_file'),
url(r'^move_file/$', views.move_file, name='move_file'),
url(r'^delete_file/$', views.delete_file, name='delete_file'),
url(r'^' + settings.S3_BROWSER_SETTINGS + '/', include('djangoS3Browser.s3_browser.urls')),
] + static(settings.STATIC_URL, document_root=settings.STATIC_ROOT)
Settings.py:
AWS_ACCESS_KEY_ID = ""
AWS_SECRET_ACCESS_KEY = ""
AWS_STORAGE_BUCKET_NAME = ""
AWS_S3_ENDPOINT_URL = ""
AWS_AUTO_CREATE_BUCKET = True
AWS_QUERYSTRING_AUTH = False
S3_BROWSER_SETTINGS = "djangoS3Browser"
AWS_EXPIRY = 60 * 60 * 24 * 7
control = 'max-age=%d, s-maxage=%d, must-revalidate' % (AWS_EXPIRY, AWS_EXPIRY)
AWS_HEADERS = {'Cache-Control': bytes(control, encoding='latin-1')}
TEMPLATES = [
{
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [],
'APP_DIRS': True,
'OPTIONS':
{
'libraries': {'s3-load': 'djangoS3Browser.templatetags.s3-tags',},
'context_processors': ["django.contrib.auth.context_processors.auth",'django.contrib.messages.context_processors.messages',]
}
}
]
SECRET_KEY = 'y130-j9oz4r5aoamn_n=+s-*7n)*3^s$jmf4(qw6ik28()g^(n'
DEBUG = True
ALLOWED_HOSTS = ['*']
ROOT_URLCONF= 'djangoS3Browser.s3_browser.urls'
LANGUAGE_CODE = 'en-us'
TIME_ZONE = 'UTC'
STATIC_URL = '{}/static/'.format(AWS_S3_ENDPOINT_URL)
STATIC_ROOT = '/static/'
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'djangoS3Browser',
]
WSGI_APPLICATION = 'djangoS3Browser.s3_browser.wsgi.application'
MIDDLEWARE = (
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
)
实际结果:
File "C:\Anaconda3\lib\site-packages\django\urls\resolvers.py", line 162, in check
warnings.extend(self._check_pattern_startswith_slash())
File "C:\Anaconda3\lib\site-packages\django\urls\resolvers.py", line 125, in _check_pattern_startswith_slash
if regex_pattern.startswith(('/', '^/', '^\\/')) and not regex_pattern.endswith('/'):
RecursionError: maximum recursion depth exceeded while calling a Python object
【问题讨论】:
标签: django amazon-s3 python-3.7