Skip to content

chimeno/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 requirements/dev.txt
    

    Alternatively use the make task:

    make install
    
  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. Create tables:

    psql -d code.djangoproject < tracdb/trac.sql
    
    ./manage.py migrate
    
  6. Create a superuser:

    ./manage.py createsuperuser
    
  7. Populate the www and docs hostnames in the django.contrib.sites app:

    ./manage.py loaddata dev_sites
    
  8. For docs:

    ./manage.py loaddata doc_releases
    ./manage.py update_docs
    
  9. Point the www.djangoproject.dev and docs.djangoproject.dev hostnames with your /etc/hosts file to localhost/127.0.0.1. Here's how it could look like:

    127.0.0.1  docs.djangoproject.dev, www.djangoproject.dev
    

    If you're on Mac OS and don't feel like editing the /etc/hosts file manually, there is a great preference pane called Hosts.prefpane. On Ubuntu there is a built-in network admin GUI to do the same. Remember both require admin priviledges, just like you'd need when editing /etc/hosts with your favorite editor.

  1. Finally run the server:

    make run
    

    This runs both the main site ("www") as well as the docs site in the same process. Open http://www.djangoproject.dev:8000/ or http://docs.djangoproject.dev:8000/.

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 web

That'll just run the www server.

Check out the Procfile file for all the process names.

JavaScript libraries

This project uses Bower for managing JS library depedencies. See its documentation for how to use it. Here's the gist:

To update any of the dependencies, edit the bower.json file accordingly and then run bower install to download the appropriate files to the static directory. Commit the downloaded files to git (vendoring).

About

Source code to djangoproject.com

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 45.0%
  • JavaScript 40.0%
  • CSS 12.7%
  • Ruby 2.0%
  • Other 0.3%