Skip to content

MMohan1/djangoproject.com

 
 

Repository files navigation

djangoproject.com source code

To run locally, do the usual:

  1. Create a virtualenv
  2. Install dependencies:

    pip install -r deploy-requirements.txt
    pip install -r local-requirements.txt

    If you only need to deploy, and don't need to test any changes, you can use deploy-requirements.txt only.

  3. Create a 'secrets.json' file in the directory above the checkout, containing something like:

    { "secret_key": "xyz",
      "superfeedr_creds": ["any@email.com", "some_string"] }
  4. Create databases:

    createuser -d djangoproject
    createdb -O djangoproject djangoproject
    createuser code.djangoproject
    createdb -O code.djangoproject code.djangoproject
  5. Set debug environment variable:

    export DJANGOPROJECT_DEBUG=1

    The code of the project uses this env variable to distinguish between production and development. Set it to 1 to disable settings that are only relevant on the production server.

  6. Create tables:

    psql -d code.djangoproject < tracdb/trac.sql
    
    ./manage.py migrate

    and:

    ./manage.py migrate --docs

    if you want to run docs site.

  7. Create a superuser:

    ./manage.py createsuperuser
  8. For docs:

    ./manage.py loaddata doc_releases.json --docs
    ./manage.py update_docs --docs
  9. Finally:

    ./manage.py runserver

    This runs as www.djangoproject.com, the main website.

    To run locally as docs.djangoproject.com, use:

    ./manage.py runserver --docs

Styles

In case you want to work on the stylesheets please install Compass with Rubygems:

gem install compass

You may have to prefix that command with sudo depending on your platform.

Then run the following to compile the Compass SASS files to CSS:

make compile-scss-debug

Alternatively you can also run the following command in a separate shell to continously watch for changes to the SASS files and automatically compile to CSS:

make watch-scss

Running all at once

Optionally you can use a tool like Foreman to run all process at once:

This is great during development. Assuming you're using Foreman simply run:

foreman start

If you just want to run one of the processes defined above use the run subcommand like so:

foreman run www

That'll just run the www server.

Check out the Procfile file for all the process names.

About

Source code to djangoproject.com

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 77.7%
  • CSS 20.7%
  • JavaScript 1.2%
  • Other 0.4%