Научите како да подесите складиште С3 датотека користећи овај водич корак по корак.

Ако правите Дјанго веб апликацију, неопходно је ефикасно руковати статичким средствима и медијским датотекама које су отпремили корисници.

У развојном окружењу, Дјанго управља овим датотекама. Међутим, у производњи ћете желети да истражите даље опције. Ваша корисничка база може значајно порасти и можда имате посла са много већим датотекама, као што су аудио и видео.

Амазон Веб Сервицес (АВС) Симпле Стораге Сервице (С3) Буцкет је једна од алтернатива за хостовање статичких и медијских датотека. Интеграцијом С3 са Дјангом, можете скинути терет управљања датотекама са вашег сервера, смањити оптерећење и осигурати бржу и поузданију испоруку средстава.

Корак 1: Креирајте АВС налог

Ако немате АВС налог, идите на АВС сајт, и креирајте нови налог.

Нови АВС налози имају бесплатан приступ 5 ГБ стандардне меморије С3 сваког месеца током годину дана.

Корак 2: Направите С3 канту за свој пројекат

  1. Након што креирате свој АВС налог, пријавите се и потражите С3 у траци за претрагу на врху, а затим изаберите прву опцију.
  2. instagram viewer
  3. Након што изаберете прву опцију, видећете нову страницу. Кликните Цреате буцкет дугме:
  4. Затим наведите име за своју С3 канту. Већину конфигурације можете оставити као подразумевану.
  5. Померите се надоле до Блокирај подешавања јавног приступа за овај сегмент одељак, поништите избор Блокирајте сав јавни приступ подешавање и потврдите упозорење које се појави.
  6. Када завршите, кликните на Цреате буцкет дугме. Преусмериће вас на страницу која приказује листу С3 кантица које сте креирали.

Корак 3: Креирајте ИАМ корисника на АВС-у

АВС пружа услугу под називом ИАМ (Управљање идентитетом и приступом). Ово вам омогућава да креирате посебан налог за одређену особу или апликацију која треба да комуницира са АВС услугама.

Можете да доделите различите нивое дозвола ИАМ корисницима, који представљају појединце или апликације које су у интеракцији са АВС услугама које сте креирали. Са ИАМ корисницима, можете осигурати да сваки корисник има приступ само ресурсима који су му потребни и ништа више.

Из безбедносних разлога, требало би да креирате ИАМ корисника за ваш Дјанго пројекат да би ступио у интеракцију са вашим С3 буцкетом. Пратите ове кораке да бисте креирали ИАМ корисника на АВС-у:

  1. У траку за претрагу откуцајте ЈА САМ и изаберите прву опцију. Појавиће се нова страница.
  2. На левој страни ИАМ странице изаберите Корисници, а затим наставите да кликнете на Додајте кориснике дугме. Отвориће се још једна страница за попуњавање неких информација.
  3. Почните тако што ћете унети име за ИАМ корисника и кликнути на Следећи дугме на дну: На следећој страници морате да изаберете нивое дозвола за ИАМ корисника. Пратите ове кораке:
    1. Прво изаберите Директно приложите смернице опција из Опције дозвола одељак.
    2. Затим дефинишите политику дозвола за вашег ИАМ корисника. Ово ће одредити шта ИАМ корисник може, а шта не може. Пошто желите да ваша Дјанго апликација преузима и отпрема датотеке, требало би да јој дате потпуни приступ С3 буцкету.
    3. У Политика дозвола одељак, требало би да тражите С3ФуллАццесс и изаберите опцију. Када завршите, кликните на Следећи дугме.
  4. Затим прегледајте смернице за ИАМ корисника и кликните на Направи корисника дугме за креирање ИАМ корисника.

Корак 4: Креирајте приступни кључ за свог ИАМ корисника

У АВС-у, приступни кључ се односи на акредитиве које можете користити за аутентификацију и безбедан програмски приступ АВС ресурсима. Ваш Дјанго пројекат мора да обезбеди ове акредитиве за приступ вашем С3 буцкету.

Следећи кораци ће вам помоћи да генеришете приступни кључ за ваш пројекат.

  1. Након што креирате ИАМ корисника, добићете поруку упозорења која од вас тражи да погледате корисника. Алтернативно, можете погледати корисника кликом на Корисничко име.
  2. Затим изаберите Сигурносни акредитиви картицу, померите се надоле да бисте пронашли Приступни кључеви одељак и изаберите Креирајте приступни кључ.
  3. Мораћете да изаберете случај коришћења за свој приступ, тако да АВС може да препоручи алтернативну опцију где је то прикладно. То не утиче на ваш приступни кључ. Слободно изаберите опцију као што је Услуга треће стране или Локални код и потврдите упозорење које се појави. Када завршите, кликните на Следећи дугме.
  4. На следећој страници унесите ознаку описа за ваш приступни кључ и кликните на Креирајте приступни кључ дугме.
  5. Након што креирате приступни кључ, можете копирати своје акредитиве или их преузети као ЦСВ датотеку. У сваком случају, побрините се да ове податке очувате безбедним и безбедним.

Корак 5: Конфигуришите свој Дјанго пројекат за С3 Буцкет

Да бисте користили своју С3 канту са Дјанго пројектом, инсталирајте ове пакете:

  • дјанго-складишта: Овај пакет ће вам помоћи да дефинишете позадину за складиштење ваших датотека.
  • бото3: Овај пакет је АВС Комплет за развој софтвера (СДК) да помогне вашем Питхон пројекту у интеракцији са АВС-ом.

Ове пакете можете инсталирати у свој Питхон виртуелно окружење са Питхон-овим Пип менаџером пакета тако што ћете уписати ову команду у свој терминал:

pip install django-storages boto3

Након што сте успешно инсталирали ове пакете, отворите свој сеттингс.пи датотеку и додајте бото3 на инсталиране апликације.

Последња ствар коју треба да урадите је да конфигуришете свој Дјанго пројекат да користи АВС С3 буцкет. Ево опште конфигурације за коришћење:

AWS_ACCESS_KEY_ID = 'AWS_ACCESS_KEY_ID '
AWS_SECRET_ACCESS_KEY = 'AWS_SECRET_ACCESS_KEY'
AWS_STORAGE_BUCKET_NAME = 'AWS_STORAGE_BUCKET_NAME'
AWS_S3_SIGNATURE_NAME = 's3v4',
AWS_S3_REGION_NAME = 'AWS_S3_REGION_NAME'
AWS_S3_FILE_OVERWRITE = False
AWS_DEFAULT_ACL = None
AWS_S3_VERITY = True
DEFAULT_FILE_STORAGE = 'storages.backends.s3boto3.S3Boto3Storage'

Налепите горњу конфигурацију у свој сеттингс.пи датотеку и замените вредности у складу са тим. Замените свој АВС_АЦЦЕСС_КЕИ_ИД и АВС_СЕЦРЕТ_АЦЦЕСС_КЕИ са приступним кључем и тајним приступним кључем које сте раније копирали или преузели. Такође би требало да промените АВС_СТОРАГЕ_БУЦКЕТ_НАМЕ и АВС_С3_РЕГИОН_НАМЕ на називе вашег С3 сегмента и региона.

Можете добити назив региона тако што ћете отићи до вашег С3 сегмента и копирати последње вредности из АВС регион колона.

Корак 6: Тестирајте своју АВС конфигурацију

Када су горе наведени кораци завршени, требало би да будете спремни да тестирате своју апликацију отпремањем датотека. Следећи примери кода ће отпремити датотеке директно са административног панела, али можете слободно да отпремите своје са другог места.

За контекст, можете имати модел који изгледа овако:

classPost(models.Model):
title = models.CharField(max_length=225, blank=False, null=False)
content = models.TextField('Post Body', blank=False, null=False)
author = models.CharField(max_length=225, blank=False, null=False)
date_published = models.DateTimeField(auto_now=True)
image = models.ImageField(upload_to='posts')

def__str__(self):
return self.title

Уверите се да сте извршили неопходне операције као што су миграције, додавање на административни панел, креирање приказа и друге ствари неопходне за ваш пројекат. Уверите се да вежбате Дјангов МВТ принцип.

Када завршите, идите на свој административни панел или било који образац који сте креирали за отпремање датотеке и отпремите датотеку слике.

Идите на своју главну веб локацију и потврдите да је слика тамо. Ако јесте, кликните десним тастером миша на слику и изаберите Отворите слику у новој картици опција. На новој картици која садржи слику, приметићете да трака за адресу упућује на С3 корпу коју сте раније креирали:

Други начин да потврдите да ваша конфигурација функционише је навигација до вашег сегмента на АВС конзоли. Тамо ћете наћи своју слику:

Корак 7: Прикупите статичне датотеке у свој С3 Буцкет

До сада сте могли да отпремате медијске датотеке у своју С3 корпу; сада морате да отпремите своје статичке датотеке.

Да бисте то урадили, додајте ове конфигурације у свој сеттингс.пи фајл:

STATICFILES_STORAGE = 'storages.backends.s3boto3.S3Boto3Storage'
AWS_LOCATION = 'static'

Након тога, отворите свој Интерфејс командне линије (ЦЛИ) и покрените ову команду:

python manage.py collectstatic --noinput

Да бисте потврдили да све функционише, отворите своју С3 канту у АВС конзоли. Видећете фасциклу под називом статична.

Користите АВС С3 Буцкет за много више

Могућности АВС С3 кашика су огромне! Требало би да се упознате са њим и научите како да користите С3 у друге сврхе, као што је хостовање статичне веб апликације.

Познавање правилног коришћења С3 кашика ће вам уштедети много времена и помоћи вам да направите бољи производ или решење. Али такође треба да будете свесни да С3 можда није погодан за сваки случај, па размислите о захтевима вашег пројекта пре него што га употребите.