[[https://cdn.rawgit.com/maidstone-hackspace/administration/2ede7cb1/images/hackspace-banner.png]] * Maidstone Hackspace website [[https://pyup.io/repos/github/maidstone-hackspace/maidstone-hackspace-website/][https://pyup.io/repos/github/maidstone-hackspace/maidstone-hackspace-website/shield.svg]] Repository for the maidstone hackspace website, feel free to fork this site for your own Hackspace. ** Requirements Before getting started make sure you have git, docker and docker-compose installed on your machine. The simplest way to setup this site is to use docker-compose so please install that from this site https://docs.docker.com/engine/installation/ and make sure the quick start guide works https://docs.docker.com/machine/get-started/ then you can use the commands below to test and make changes. ** Setup Steps to get the site running for the first time *** First clone the project To get started checkout the project to your machine, with the command below. #+BEGIN_SRC sh git clone https://github.com/maidstone-hackspace/maidstone-hackspace-website.git #+END_SRC *** Build your containers to install the sites requirements Once checked out build your containers locally you only need to do this when first start or if requirements change. #+BEGIN_SRC sh docker-compose -fdev.yml build #+END_SRC *** Start your new containers containing a database and django #+BEGIN_SRC sh docker-compose -fdev up #+END_SRC Test django is serving pages http://127.0.0.1:8180 *** Run migrations to setup the database To run django commands just prefix them with =docker-compose -f dev.yml run django= #+BEGIN_SRC sh docker-compose -f dev.yml run --rm django python manage.py makemigrations docker-compose -f dev.yml run --rm django python manage.py migrate #+END_SRC *** Create the admin user. Once created you can login at http://127.0.0.1:8180/trustee #+BEGIN_SRC sh docker-compose -f dev.yml run --rm django python manage.py createsuperuser #+END_SRC *** Generate dummy data #+BEGIN_SRC sh docker-compose -f dev.yml run --rm django python manage.py generate_test_data #+END_SRC ** Migrations / Managing default data If you want to export some data you entered into the admin area you can use =dumpdata= and =loaddata= to export and import. #+BEGIN_SRC sh docker-compose -fdev.yml run --rm django python manage.py dumpdata feeds > mhackspace/feeds/fixtures/defaults.json docker-compose -fdev.yml run --rm django python manage.py loaddata mhackspace/feeds/fixtures/defaults.json #+END_SRC ** Django Commands #+BEGIN_SRC sh docker-compose -fdev.yml run --rm django python manage.py list_subscriptions #+END_SRC *** Render image variations, if you change the images sizes this will be needed #+BEGIN_SRC sh docker-compose -fdev.yml run --rm django python manage.py rendervariations 'blog.Post.image' --replace #+END_SRC ** Api #+BEGIN_SRC python import requests url = 'http://127.0.0.1:8180/api/v1/rfidAuth/' data = { 'rfid': '49960', 'device': '7bff6053-77ef-4250-ac11-8a119fd05a0e' } # client = RequestsClient() response = requests.post( 'http://127.0.0.1:8180/api/v1/rfidAuth/', data={'rfid': 'fa14', 'device': 'e571eee1-7bf7-4453-980e-7519e2a83de6'}) #requests.get(url) return response.status_code #+END_SRC #+RESULTS: : 404