README

نصب PostgreSQL

قسمت‌هایی از این بخش بر اساس دوره آموزشی Geek Girls Carrots است (http://django.carrots.pl/).

بخش‌هایی از این دوره بر اساس دوره آموزشی django-marcador tutorial و بر اساس مدرک بین‌المللی Creative Commons Attribution-ShareAlike 4.0 و توسط Markus Zapke-Gründemann و همکاران ثبت شده است.

Windows

ساده‌ترین راه برای نصب Postgres در ویندوز، استفاده از برنامه‌ای است که می‌توانید در این آدرس پیدا کنید: http://www.enterprisedb.com/products-services-training/pgdownload#windows

جدید‌ترین نسخه‌ای که برای ویندوز شما وجود دارد را انتخاب کنید. نصب کننده را دانلود کنید و دستورالعمل‌هایی که در این آدرس http://www.postgresqltutorial.com/install-postgresql/، وجود دارد را دنبال کنید. آدرس دایرکتوری نصب را جایی یادداشت کنید چون در مراحل بعد به آن نیاز دارید (معمولاً چیزی شبیه به C:\Program Files\PostgreSQL\9.3 است).

Mac OS X

ساده‌ترین راه این است که نرم‌افزار رایگان Postgres.app را دانلود و مانند سایر اپلیکیشن‌ها بر روی سیستم عامل خود نصب کنید.

نرم‌افزار را دانلود کنید فایل آن را در پوشه Applications بیندازید و با دوبار کلیک، آن را اجرا کنید. به همین سادگی!

همچنین نیاز است که ابزار خط فرمان Postgres را در متغیر PATH قرار دهید که در اینجا توضیح داده شده است.

Linux

مراحل نصب بین توزیع‌های مختلف متفاوت است. در زیر دستورهای نصب برای Ubuntu و Fedora آمده است. اگر از توزیع دیگری استفاده می‌کنید به مستندات Postgres نگاهی بیندازید.

Ubuntu

برای نصب پستگرس بر روی اوبونتو، دستور زیر را اجرا کنید:

sudo apt-get install postgresql postgresql-contrib

Fedora

برای نصب پستگرس روی فدورا از دستور زیر استفاده کنید:

sudo yum install postgresql93-server

ساختن دیتابیس

حالا وقت آن است که اولین دیتابیس و کاربری را که بتواند به آن دسترسی داشته باشد، بسازیم. PostgreSQL به شما اجازه می‌دهد به هر تعداد که می‌خواهید دیتابیس‌ و کاربر بسازید، پس اگر بر روی وب‌سایت‌های مختلف کار می‌کنید باید برای هرکدام یک دیتابیس بسازید.

Windows

اگر از ویندوز استفاده می‌کنید، چند مرحله دیگر هست که باید انجام بدهیم. الان نیازی نیست که شما مفاهیم تنظیماتی را که انجام می‌دهیم، بدانید، اما اگر دوست دارید که بیشتر کنجکاوی کنید می‌توانید از مربی خود سؤال کنید.

  1. خط فرمان را باز کنید (Start menu → All Programs → Accessories → Command Prompt)

  2. این دستور را بنویسید و اجرا کنید: setx PATH "%PATH%;C:\Program Files\PostgreSQL\9.3\bin". می‌توانید دستورات را کپی کنید و با رایت کلیک و انتخاب Paste، آن‌ها را در خط فرمان اضافه کنید. مطمئن شوید که آدرس موجود در این دستور، ترکیبی باشد از آدرسی که در مراحل نصب یادداشت کرده بودید به اضافه یک عبارت \bin در انتهای آن. باید بعد از اجرای این دستور عبارت SUCCESS: Specified value was saved. را ببینید.

  3. خط فرمان را ببندید و دوباره آن را باز کنید.

ساختن دیتابیس

اول از همه کنسول پستگرس را با اجرای دستور 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 را با نامی که کمی قبل‌تر، موقع ساختن دیتابیس تعریف کرده‌اید، جابجا کنید.

نصب پکیج PostgreSQL برای پایتون

ابتدا Heroku Toolbelt را از آدرس https://toolbelt.heroku.com/ نصب کنید. هرچند که از این ابزار بعدها بیشتر برای انتشار وب‌سایت استفاده خواهیم کرد اما این پکیج شامل Git هم هست که بسیار کارآمد است.

در ادامه، نیاز داریم پکیجی را نصب کنیم که اجازه می‌دهد پایتون با پستگرس صحبت کند؛ نام این پکیج psycopg2 است. دستورالعمل نصب بین ویندوز و لینوکس/مک کمی متفاوت است.

Windows

برای ویندوز، فایل پیش‌ساخته را از http://www.stickpeople.com/projects/python/win-psycopg/ دانلود کنید.

مطمئن شوید فایل متناسب با نسخه پایتون نصب شده روی سیستم خود را گرفته‌اید (3.6 باید آخرین ردیف باشد). علاوه بر این، فایل باید متناسب با معماری سیستم عامل شما باشد(۳۲ بیتی در ستون چپ و ۶۴ بیتی در ستون راست).

نام فایل دانلود شده را تغییر دهید تا به این نام و آدرس قابل دسترس باشد C:\psycopg2.exe.

وقتی این کار انجام شد دستور زیر را در خط فرمان اجرا کنید (مطمئن باشید که virtualenvفعال باشد):

easy_install C:\psycopg2.exe

Linux and OS X

دستور زیر را در کنسول اجرا کنید:‌

(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 را با نام کاربری که برای ادمین وب‌سایت در نظر دارید، جابجا کنید. ایمیل و پسورد این کاربر اصلی نیز از شما پرسیده می‌شود.

حالا می‌توانید سرور را اجرا کنید، با کاربر اصلی وارد سایت شوید و پست‌های جدید به دیتابیس تازه ساخته شده اضافه کنید.