1
我試圖創建一個按鈕,它將在AWS中創建一個S3存儲桶,一旦點擊。當談到Django時,我仍然有點綠色,所以我不知道如何讓它運行。我閱讀了一些教程,但所有這些教程都展示了在單擊按鈕時如何向數據庫添加內容。 這是我迄今所做的:Django使用按鈕創建s3存儲桶
views.py
class createS3(TemplateView):
template_name = 'project/create_s3.html'
def get(self, request):
form = S3Form()
return render(request, self.template_name, {'form': form})
def createBucket(self, bucketName):
form = S3Form(request.POST)
s3 = boto3.resource('s3')
if form.is_valid():
name = form.cleaned_data['name']
s3.create_bucket(Bucket=name)
def post(self, request):
form = S3Form(request.POST)
if form.is_valid():
name = form.cleaned_data['name']
args = {'form':form, 'name':name}
return render(request, self.template_name, args)
這裏是模板:
{% include "home/_header.html" %}
{% block content %}
{% load staticfiles %}
<div class="mainPage">
<div class="s3Wrapper">
<form method="post">
{% csrf_token %}
{{ form.as_p }}
<button type="submit" name="create" class="button create">Create</button>
</form>
</div>
</div>
{% endblock content %}
現在我的問題是,我如何通過點擊按鈕來調用createBucket
功能?或者我需要創建一個新的url並傳遞'name'變量來創建一個新的桶?
謝謝!
看起來像它的工作,但是當我點擊提交按鈕,我得到'名「createBucket」沒有defined'。這是什麼意思?我已經定義了這個功能,不是嗎? – davidb
假設createBucket()和post()都是同一個類的方法,我更新了代碼。 – jarmod
乾杯!現在我得到另一個錯誤,但我猜這個線程的問題已經解決。至少我現在知道如何使用它。 – davidb