Skip to content

Проектът, чрез който Студентски Съвет към СУ ще може да бъде ръководен прозрачно и отворено.

License

Notifications You must be signed in to change notification settings

Hackfmi/Diaphanum

Repository files navigation

Diaphanum

Build Status

Проектът, чрез който Студентски Съвет към СУ ще може да бъде ръководен прозрачно и отворено.

Да си нагласим средата

Python

Ако имате желанието да се включите и да помогнете, трябва да започнете с тези две неща:

Ако сте на Linux би трябвало да имате вече Python2.7. Ако нямате сложете си, сложете си и PIP:

sudo apt-get install python-pip

или

yum -y install python-pip

Django

Сега, вече трябва да имате Python. Следващата стъпка е да си сложите Framework-а.

  • Kлонирайте Diaphanum
  • Стигнете до директорията чрез терминал и напишете: pip install -r requirements.txt

Ако ви изкара следната грешка -

Traceback (most recent call last):
  File "/var/www/mydir/virtualenvs/dev/bin/pip", line 5, in <module>
    from pkg_resources import load_entry_point
ImportError: No module named pkg_resources

Трябва да пуснете ez_setup.py в Scripts папката на инсталацията на Python. За да го направите, следният код върши работа: curl https://bitbucket.org/pypa/setuptools/raw/bootstrap/ez_setup.py | python

  • Ако горната команда ви се скара, че pg_config не е в PATH и използвате debian-базиран linux изпълнете: sudo apt-get install libpq-dev python-dev

За Windows, проблемът с pg_config се решава като изтеглите от тук - http://stickpeople.com/projects/python/win-psycopg/ - exe-то за Python 2.7 и го инсталирате. След това pip install -r requirements.txt ще мине като песен !

Databases

За да може да направите, каквото и да е било, ви трябват някакви данни.

Ако отворите .gitignore има споменато local_settings.py, а в setting.py

try:
    from local_settings import *
except ImportError:
    pass

Ще си направите файл local_settings.py (в hackfmi/) и в него ще селектирате база данни. КАТО

  • Тя няма да се качва в Git и ще си стои само на вашата машина
  • Пример, за това как трябва да изглежда local_settings, може да видите в example_local_settings.py
От тук ще опишем два варианта

PostgreSQL Ние (хората, които са участвали в проекта, ползваме postgresql9.2. За да си сложите такава база данни, направете следното:

ЗА WINDOWS

  • Сваляте PostgreSQL 9.2 може разбира се и 32-битов

psql -U postgres

Ще ви попита за паролата (оная важната - пробвай с hackfmi ако се чудиш). След това ако всичко мине добре:

CREATE ROLE [nickname] LOGIN password '[password]';  # да, пишете паролата в кавички
CREATE DATABASE [db_name] ENCODING 'UTF8' OWNER [nickname];

После local_settings.py файла трябва да е:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        'NAME': '[db_name]',
        'USER': '[nickname]',
        'PASSWORD': '[password]',
        'HOST': '',
        'PORT': '',
    }
}

ЗА LINUX

Вариант 1:

  • Сваляте и си слагате PostgreSQL 9.2
  • Когато всичко свърши, отваряте терминал:
sudo su - postgres
createuser -s -U postgres --interactive

Вариант 2 (когато вариант 1 не сработи):

  • По време на писането на това README тази команда инсталира Postgresql 9.1:
sudo apt-get install postgresql

След което:

sudo su - postgres
createuser -s -U postgres -W

И в двата варианта ще ви пита за роля, пишете си username-а (за улеснение), след което пишете парола. След това, създайте база

createdb [db_name]

После local_settings.py трябва да придобие вида:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql_psycopg2',
        'NAME': '[db_name]',
        'USER': '[nickname (ролята от createuser)]',
        'PASSWORD': '[password (паролата от createuser)]',
        'HOST': '',
        'PORT': '',
    }
}

SQLite

Ако пък искате първо простo да разгелдате за какво става въпрос и до къде е стигнал проекта, може да ползвате SQLite.

Създайте си някъде на машината файл (например създайте в директорията на проекта файл и го именувайте mydb). После local_settings.py придобива вида:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': '[FULL_PATH_TO_THE_FILE_YOU_CREATED]',
        'USER': '',
        'PASSWORD': '',
        'HOST': '',
        'PORT': '',
    }
}

Напълнете си базата с данни

За да може реално да "разцъквате" из сайта и да виждате някаква информация остава още една стъпка: В основната пакпка има файл, който се казва new_data.json , съдържа fixture данни за по-лесно тестване. Отворете терминал в директорията на проекта

python manage.py syncdb --all
python manage.py migrate --fake
python manage.py loaddata new_data.json

python manage.py runserver

About

Проектът, чрез който Студентски Съвет към СУ ще може да бъде ръководен прозрачно и отворено.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published