قسمتهایی از این بخش بر اساس دوره آموزشی Geek Girls Carrots است (http://django.carrots.pl/).
بخشهایی از این دوره بر اساس دوره آموزشی django-marcador tutorial و بر اساس مدرک بینالمللی Creative Commons Attribution-ShareAlike 4.0 و توسط Markus Zapke-Gründemann و همکاران ثبت شده است.
سادهترین راه برای نصب Postgres در ویندوز، استفاده از برنامهای است که میتوانید در این آدرس پیدا کنید: http://www.enterprisedb.com/products-services-training/pgdownload#windows
جدیدترین نسخهای که برای ویندوز شما وجود دارد را انتخاب کنید. نصب کننده را دانلود کنید و دستورالعملهایی که در این آدرس http://www.postgresqltutorial.com/install-postgresql/، وجود دارد را دنبال کنید. آدرس دایرکتوری نصب را جایی یادداشت کنید چون در مراحل بعد به آن نیاز دارید (معمولاً چیزی شبیه به C:\Program Files\PostgreSQL\9.3
است).
سادهترین راه این است که نرمافزار رایگان Postgres.app را دانلود و مانند سایر اپلیکیشنها بر روی سیستم عامل خود نصب کنید.
نرمافزار را دانلود کنید فایل آن را در پوشه Applications بیندازید و با دوبار کلیک، آن را اجرا کنید. به همین سادگی!
همچنین نیاز است که ابزار خط فرمان Postgres را در متغیر PATH
قرار دهید که در اینجا توضیح داده شده است.
مراحل نصب بین توزیعهای مختلف متفاوت است. در زیر دستورهای نصب برای Ubuntu و Fedora آمده است. اگر از توزیع دیگری استفاده میکنید به مستندات Postgres نگاهی بیندازید.
برای نصب پستگرس بر روی اوبونتو، دستور زیر را اجرا کنید:
sudo apt-get install postgresql postgresql-contrib
برای نصب پستگرس روی فدورا از دستور زیر استفاده کنید:
sudo yum install postgresql93-server
حالا وقت آن است که اولین دیتابیس و کاربری را که بتواند به آن دسترسی داشته باشد، بسازیم. PostgreSQL به شما اجازه میدهد به هر تعداد که میخواهید دیتابیس و کاربر بسازید، پس اگر بر روی وبسایتهای مختلف کار میکنید باید برای هرکدام یک دیتابیس بسازید.
اگر از ویندوز استفاده میکنید، چند مرحله دیگر هست که باید انجام بدهیم. الان نیازی نیست که شما مفاهیم تنظیماتی را که انجام میدهیم، بدانید، اما اگر دوست دارید که بیشتر کنجکاوی کنید میتوانید از مربی خود سؤال کنید.
- خط فرمان را باز کنید (Start menu → All Programs → Accessories → Command Prompt)
- این دستور را بنویسید و اجرا کنید:
setx PATH "%PATH%;C:\Program Files\PostgreSQL\9.3\bin"
. میتوانید دستورات را کپی کنید و با رایت کلیک و انتخابPaste
، آنها را در خط فرمان اضافه کنید. مطمئن شوید که آدرس موجود در این دستور، ترکیبی باشد از آدرسی که در مراحل نصب یادداشت کرده بودید به اضافه یک عبارت\bin
در انتهای آن. باید بعد از اجرای این دستور عبارتSUCCESS: Specified value was saved.
را ببینید. - خط فرمان را ببندید و دوباره آن را باز کنید.
اول از همه کنسول پستگرس را با اجرای دستور psql
، فعال کنید. به یاد دارید که چطور کنسول را باز میکردید؟
بر روی مک او اس ایکس میتوانید با اجرای اپلیکیشن
Terminal
، کنسول را باز کنید (در این آدرس Applications → Utilities). روی لینوکس، احتمالاً در مسیر Applications → Accessories → Terminal است. در ویندوز نیاز است که از این مسیر Start menu → All Programs → Accessories → Command Prompt، کنسول خط فرمان را پیدا کنید. علاوه بر این در ویندوز ممکن است اجرای دستورpsql
نیاز به نام کاربری و پسوردی داشته باشد که درمراحل نصب تعریف کردهاید اما با اینحال باز هم کار نکند، برای فعال کردن کنسول پستگرس از دستورpsql -U <username> -W
استفاده کنید و بعد از اجرای آن پسورد خود را بزنید.
$ psql
psql (9.3.4)
Type "help" for help.
#
علامت $
، به #
تغییر کرده است که به این معنی است که حالا ما دستورات را به PostgreSQL میفرستیم. بیایید یک کاربر به کمک دستور CREATE USER name;
بسازیم (گذاشتن ویرگول نقطه در انتهای دستور را فراموش نکنید):
# CREATE USER name;
به جای عبارت name
، نام خودتان را بنویسید. نباید از کاراکترهای خاص (مثلاً فارسی) و اسپیس استفاده کنید (مثلاً نام کاربری bożena maria
، نامعتبر است و باید به صورت bozena_maria
نوشته شود). اگر همه چیز خوب پیش برود، باید عبارت CREATE ROLE
را در کنسول ببینید.
حالا وقت آن است که یک دیتابیس برای پروژه جنگو خود بسازید:
# CREATE DATABASE djangogirls OWNER name;
یادتان باشد که عبارت name
را با نامی که در دستور قبل ساختید (مثلاً bozena_maria
) جابجا کنید. این کار یک دیتابیس خالی میسازد که شما میتوانید در پروژه خود از آن استفاده کنید. اگر همه چیز درست پیش رفته باشد باید عبارت CREATE DATABASE
را در کنسول ببینید.
فوقالعاده است، دیتابیس آماده شد!
این بخش را در فایل mysite/settings.py
پیدا کنید:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.sqlite3',
'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
}
}
و به این شکل تغییر دهید:
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.postgresql',
'NAME': 'djangogirls',
'USER': 'name',
'PASSWORD': '',
'HOST': 'localhost',
'PORT': '',
}
}
به یاد داشته باشید که عبارت name
را با نامی که کمی قبلتر، موقع ساختن دیتابیس تعریف کردهاید، جابجا کنید.
ابتدا Heroku Toolbelt را از آدرس https://toolbelt.heroku.com/ نصب کنید. هرچند که از این ابزار بعدها بیشتر برای انتشار وبسایت استفاده خواهیم کرد اما این پکیج شامل Git هم هست که بسیار کارآمد است.
در ادامه، نیاز داریم پکیجی را نصب کنیم که اجازه میدهد پایتون با پستگرس صحبت کند؛ نام این پکیج psycopg2
است. دستورالعمل نصب بین ویندوز و لینوکس/مک کمی متفاوت است.
برای ویندوز، فایل پیشساخته را از http://www.stickpeople.com/projects/python/win-psycopg/ دانلود کنید.
مطمئن شوید فایل متناسب با نسخه پایتون نصب شده روی سیستم خود را گرفتهاید (3.6 باید آخرین ردیف باشد). علاوه بر این، فایل باید متناسب با معماری سیستم عامل شما باشد(۳۲ بیتی در ستون چپ و ۶۴ بیتی در ستون راست).
نام فایل دانلود شده را تغییر دهید تا به این نام و آدرس قابل دسترس باشد C:\psycopg2.exe
.
وقتی این کار انجام شد دستور زیر را در خط فرمان اجرا کنید (مطمئن باشید که virtualenv
فعال باشد):
easy_install C:\psycopg2.exe
دستور زیر را در کنسول اجرا کنید:
(myvenv) ~/djangogirls$ pip install psycopg2
اگر همه چیز خوب پیش برود، چیزی شبیه به این را خواهید دید:
Downloading/unpacking psycopg2
Installing collected packages: psycopg2
Successfully installed psycopg2
Cleaning up...
وقتی این مرحله کامل شد، عبارت python -c "import psycopg2"
را اجرا کنید. اگر خطایی دریافت نکردید، یعنی همه چیز با موفقیت نصب شده است.
برای استفاده از دیتابیس تازه ساخته شده، نیاز است که migration یا مهاجرت را انجام دهید. این کار تغییرات ایجاد شده را در دیتابیس ثبت میکند. در محیط مجازی (virtual environment) دستور زیر را اجرا کنید:
(myvenv) ~/djangogirls$ python manage.py migrate
برای اضافه کردن پستهای جدید، نیاز است که superuser یا کاربر اصلی را به کمک دستور زیر بسازید:
(myvenv) ~/djangogirls$ python manage.py createsuperuser --username name
به یاد داشته باشید که عبارت name
را با نام کاربری که برای ادمین وبسایت در نظر دارید، جابجا کنید. ایمیل و پسورد این کاربر اصلی نیز از شما پرسیده میشود.
حالا میتوانید سرور را اجرا کنید، با کاربر اصلی وارد سایت شوید و پستهای جدید به دیتابیس تازه ساخته شده اضافه کنید.