Skip to main content

A Django app for including twitter bootstrap and font awesome.

Project description

version downloads license

django-awesome-bootstrap

Twitter Bootstrap + Font Awesome for Django.

This is different from django-twitter-bootstrap in a few ways:

  1. This also includes font-awesome

  2. The folder structure is setup differently to avoid file naming collisions with static content from different projects

Steven, the owner of the project, did a great job with the documentation for that project. So much of what you will find below will be similar to, or the same as, what you will find in his project (thanks Steven :)).

Configuration

Install the app:

pip install django-awesome-bootstrap

Add the app to your installed apps:

# settings.py:

INSTALLED_APPS = (
   ...
   'awesome_bootstrap',
   ...
)

This also assumes you haven’t removed django.contrib.staticfiles.finders.AppDirectoriesFinder from the STATICFILES_FINDERS config setting.

django-pipeline

django-pipeline is not required, but highly recommended when dealing with static content. This project is setup to prevent naming collisions with other static projects. So when static is collected via:

python manage.py collectstatic

There will be separate folders for twitter_bootstrap and for font_awesome. This way their static file naming convention remain namespaced to their app. So when adding these statics files into your django-pipeline configuration settings, you can simply do:

PIPELINE_CSS = {
   'standard': {
     'source_filenames': (
         ...
         'twitter_bootstrap/dist/css/bootstrap.min.css',
         'twitter_bootstrap/dist/css/bootstrap-theme.min.css',
         'font_awesome/css/font-awesome.min.css',
         ...
         # Put your css statics here
     ),
     'output_filename': 'css/YOUR-OUTPUT-FILE_NAME.css',
   }
}

Or you can use individual components from each projects:

PIPELINE_CSS = {
   'standard': {
     'source_filenames': (
         ...
         'twitter_bootstrap/less/alerts.less',
         'twitter_bootstrap/less/dropdowns.less',
         'font_awesome/less/font-awesome.less',
         ...
         # Put your css statics here
     ),
     'output_filename': 'css/YOUR-OUTPUT-FILE_NAME.css',
   }
}

Contributing/Updating Submodules

Steps to update to the latest version of twitter bootstrap and font awesome submodules (this assumes you’re already in the project root):

  1. Create a branch from master

  2. Update the submodules:

    $ cd awesome_bootstrap/static/twitter_bootstrap
    $ git pull origin
    $ git checkout v3.2.0
    
    $ cd ../font_awesome
    $ git pull origin
    $ git checkout v4.1.0
  3. Update the version is the setup.py to coincide with twitter bootstrap’s version

  4. Update the version in this readme to same version at step #3

Then commit the changes, submit the pull request and you’re done!

Versioning

django-awesome-bootstrap will follow a similar version control setup to django-twitter-bootstrap. Versions of this package should match versions of Bootstrap, where available and will take the latest releases to font-awesome with those updates. This presents something of a problem if and when we need to make updates to the packaging here. We can’t just upgrade any of the three common components of semantic versioning, because those map to versions of Bootstrap. So, we’ll use revisions when needed.

E.g., suppose we have django-awesome-bootstrap 3.0.2 which packages Twitter Bootstrap 3.0.2. If we need to enhance or fix the packaging, we release it as revised version 3.0.2-1.

Therefore, if you’re getting a packaging for the first time you could specify it as a very tight range of that target version or no less than the next patch level version. E.g., target 3.0.2 with >=3.0.2,<3.0.3. Each of these captures all revisions to packagings targetting a specific version of Bootstrap.

Finally, it should be re-iterated that the need for this should be the exception and versions should generally mirror Bootstrap more directly going forward.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django-awesome-bootstrap-3.2.0.tar.gz (745.3 kB view details)

Uploaded Source

File details

Details for the file django-awesome-bootstrap-3.2.0.tar.gz.

File metadata

File hashes

Hashes for django-awesome-bootstrap-3.2.0.tar.gz
Algorithm Hash digest
SHA256 6ea825b08f1f70b102559dfa7658f813b1c93512fc9cd0c50e56753bd97d28c7
MD5 87f6be7e211a825fe145bef2db4e09bb
BLAKE2b-256 24cf702128025a0b4e6226f3c7da9cf67e4400e33278d1f9dab752fdbb68456f

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page