La fontkodo de Pasporta Servo
Clone or download
Permalink
Failed to load latest commit information.
blog
book
core
etc
hosting
links
locale/eo/LC_MESSAGES
logos
maps
pages
pasportaservo
requirements
shop
.coveragerc
.gitignore
.travis.yml
AUTHORS
CONTRIBUTING.md
DEPLOYMENT.md
LICENSE
README.md
fabfile.py
manage.py
pytest.ini
requirements.txt
setup.cfg

README.md

Pasporta Servo 3

TEJO Esperanto Python 3.4 Django 1.10 HTTP HTTPS GNU AGPLv3 Kontaktu nin en Telegramo https://t.me/joinchat/Bg10skEz3jFXpBk-nZAuiw

Travis CI Codecov

Pasporta Servo estas senpaga tutmonda gastiga servo.

La projekto komencis en 1974 kiel eta jarlibro, kaj ekde 2009 ankaŭ daŭras kiel retejo. En tiu ĉi deponejo kolektiĝas la kodo kiu ruligas la retejon pasportaservo.org.

Kontribui

Ĉu vi trovis cimon? Ĉu vi havas ideo kiel plibonigi la retejon? Nepre kreu novan atentindaĵon.

Instali

INSTALI

Ubuntu 16.10 / Debian Stretch:

sudo apt install git python3-dev python3-pip python3-venv libjpeg-dev zlib1g-dev \
  postgresql-contrib postgresql-server-dev-all postgresql-9.6-postgis libgdal-dev

Fedora 27:

sudo dnf install git python3-devel python3-crypto redhat-rpm-config zlib-devel libjpeg-devel libzip-devel \
  postgresql-server postgresql-contrib postgresql-devel

PostgreSQL

Se vi estas sub Fedora:

sudo postgresql-setup --initdb --unit postgresql
sudo systemctl enable postgresql
sudo systemctl start postgresql

Por ĉiuj:

sudo -u postgres createuser --interactive  # Enigu vian uzantnomon kaj poste 'y'
createdb via-uzantnomo
createdb pasportaservo

Fontkodo

Iru al la Github projektpaĝo kaj forku ĝin. Poste, vi povas kloni ĝin:

git clone https://github.com/via-uzantnomo/pasportaservo.git
cd pasportaservo
pip install wheel
pip install -r requirements/dev.txt
echo 'from .dev import *' > pasportaservo/settings/__init__.py
./manage.py migrate
./manage.py createsuperuser  # Nur la uzantnomo kaj pasvorto estas deviga
./manage.py runserver

Ĉu bone? Vidu http://localhost:8000


Retmesaĝoj

Dum disvolvigo, estas praktika uzi MailDump por provadi sendi retmesaĝoj. Ekster la env virtuala medio, kun Pitono 2:

pip install --user maildump
maildump

Problem-solvado

PostgreSQL: unrecognized option --interactive

Se la komando sudo -u postgres createuser --interactive malsukcesas (ekz., vi ricevas eraron "unrecognized option --interactive"), provu:

$ sudo -u postgres psql
psql (9.6.6)
Type "help" for help.
postgres=# CREATE ROLE {via-uzantonomo} WITH LOGIN CREATEDB CREATEROLE;
postgres=# \q

PostgreSQL: Ĉu mi bone kreis la datumbazoj?

$ sudo -u postgres psql
psql (9.5.4)
Type "help" for help.
postgres=# \l
                                    List of databases
     Name      |  Owner   | Encoding |   Collate   |    Ctype    |   Access privileges
---------------+----------+----------+-------------+-------------+-----------------------
 pasportaservo | {uzanto} | UTF8     | en_US.UTF-8 | en_US.UTF-8 |
 template0     | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/postgres          +
               |          |          |             |             | postgres=CTc/postgres
 template1     | postgres | UTF8     | en_US.UTF-8 | en_US.UTF-8 | =c/postgres          +
               |          |          |             |             | postgres=CTc/postgres

postgres=# \q

Se vi vidas tabelon kiel ĉi-supre, ĉio glate paŝis.

Komprenu la strukturon de la kodo

  • pasportaservo/: ĝenerala dosierujo kun konfiguro, baz-nivelaj URL-oj…
  • hosting/: la ĉefa programo por gastiganta servo

Kaj en la diversaj aplikaĵon (ekz. hosting, book, links…):

  • models.py: strukturo de la datumoj
  • urls.py: ligoj inter URL-oj kaj paĝo-vidoj
  • views.py: difino de vidoj, paĝoj por prezentado
  • templates/: pseŭdo-HTML dosieroj (ŝablonoj)

Lerni Dĵangon

Licenco

GNU AGPLv3