aws s3签名的django视图
django-s3sign的Python项目详细描述
[![构建状态](https://travis-ci.org/ccnmtl/django-s3sign.svg?branch=master)(https://travis ci.org/ccnmtl/django-s3sign)
[![覆盖状态](https://coveralls.io/repos/github/ccnmtl/django-s3sign/badge.svg?branch=master)](https://coveralls.io/github/ccnmtl/django-s3sign?branch=master)
django-s3 sign
django的s3 sign视图
\installation
$pip install django-s3sign
\usage
子类“s3sign.views.signs3view`
并根据需要重写。
可以重写的属性(及其默认值):
````
name\u field='s3\u object\u name'
type\u field='s3\u object\u type'
过期时间=10
mime\u type\u extensions=[
('jpeg','.jpg'),
('png','.png'),
('gif','.gif'),
root='
path-string=(
“{root}{root}{now.year:04d}/{now.month:02d}/“
”now.day:02d}/{basename}{{basename}{ext}}“
<
<
<<
<
<
<<<获取aws访问密钥(self)`
*` get-aws-secret-key(self)`
*`get-bucket(self)`
*`get-mime type(self,请求)`
*`extension `扩展名`扩展名`扩展名`扩展名`扩展名`扩展名`扩展名`扩展名``
*`now(self)` `扩展名`扩展名`扩展名`扩展名`扩展名`扩展名`扩展名`扩展名`扩展名`扩展名`扩展名`扩展名`扩展名`扩展名`扩展名`扩展名`扩展名`扩展名`扩展名`扩展名`扩展名``扩展名`扩展名`
大部分应该是清楚的。如果有疑问,请阅读源代码。
eg使用不同的根路径:
````
signs3view):
def get_bucket(self):
返回设置。不同的_bucket_name
`````
保留上载的文件名,而不是执行随机的文件名和
白名单扩展名:
`````
类mysigns3view(loggedinview,signs3view):
def basename(self,请求:
filename=request.get[self.get_name_field()]
返回os.path.basename(filename)
def extension(self,请求:
filename=request.get[self.get\u-name\u-field()]
return os.path.splitext(filename)[1]
```
35 35 35 35 35 35 35 35 javascript/forms
/>/>br/>/>还包括了所需的javascript,因此,您可以在
gt;
<;p{id1}$<;input type=“file” id="file" onchange="s3_upload();"/>
<;input type=“hidden”name=“s3-url” id="uploaded-url" />
````
<;script>;
>functions3-upload(){
>var s3upload=news3upload=news3upload({
>file-dom-selector'file',
>s3_sign_put_url:'/sign_s3/',//如果路由不同,请更改此设置
s3_对象名:$('文件')[0].value,
onprogress:function(percent,message){
$('status').html('上载进度:'+percent+'%'+message);
},
onfinishs3put:function(url){
$('上载的url').val(url);
},
onerror:function(status){
$('status').html('上传错误:'+status);
}
}
}
<;/脚本>;
```
[![覆盖状态](https://coveralls.io/repos/github/ccnmtl/django-s3sign/badge.svg?branch=master)](https://coveralls.io/github/ccnmtl/django-s3sign?branch=master)
django-s3 sign
django的s3 sign视图
\installation
$pip install django-s3sign
\usage
子类“s3sign.views.signs3view`
并根据需要重写。
可以重写的属性(及其默认值):
````
name\u field='s3\u object\u name'
type\u field='s3\u object\u type'
过期时间=10
mime\u type\u extensions=[
('jpeg','.jpg'),
('png','.png'),
('gif','.gif'),
root='
path-string=(
“{root}{root}{now.year:04d}/{now.month:02d}/“
”now.day:02d}/{basename}{{basename}{ext}}“
<
<
<<
<
<
<<<获取aws访问密钥(self)`
*` get-aws-secret-key(self)`
*`get-bucket(self)`
*`get-mime type(self,请求)`
*`extension `扩展名`扩展名`扩展名`扩展名`扩展名`扩展名`扩展名`扩展名``
*`now(self)` `扩展名`扩展名`扩展名`扩展名`扩展名`扩展名`扩展名`扩展名`扩展名`扩展名`扩展名`扩展名`扩展名`扩展名`扩展名`扩展名`扩展名`扩展名`扩展名`扩展名`扩展名``扩展名`扩展名`
大部分应该是清楚的。如果有疑问,请阅读源代码。
eg使用不同的根路径:
````
signs3view):
def get_bucket(self):
返回设置。不同的_bucket_name
`````
保留上载的文件名,而不是执行随机的文件名和
白名单扩展名:
`````
类mysigns3view(loggedinview,signs3view):
def basename(self,请求:
filename=request.get[self.get_name_field()]
返回os.path.basename(filename)
def extension(self,请求:
filename=request.get[self.get\u-name\u-field()]
return os.path.splitext(filename)[1]
```
35 35 35 35 35 35 35 35 javascript/forms
/>/>br/>/>还包括了所需的javascript,因此,您可以在
gt;
<;p{id1}$<;input type=“file” id="file" onchange="s3_upload();"/>
<;input type=“hidden”name=“s3-url” id="uploaded-url" />
````
<;script>;
>functions3-upload(){
>var s3upload=news3upload=news3upload({
>file-dom-selector'file',
>s3_sign_put_url:'/sign_s3/',//如果路由不同,请更改此设置
s3_对象名:$('文件')[0].value,
onprogress:function(percent,message){
$('status').html('上载进度:'+percent+'%'+message);
},
onfinishs3put:function(url){
$('上载的url').val(url);
},
onerror:function(status){
$('status').html('上传错误:'+status);
}
}
}
<;/脚本>;
```