While working on my first Django application I’ve just been questioning how people usually treat their static files.
staticfiles directory in .gitignore?
static) directories of Django projects be ignored using
In this stackoverflow thread they recommend to ignore the
static directory using a
Instead they call
collectstatic during the deployment process.
But aren’t these files actually needed for the application?
How can they work together with others (on a remote repository, using Github for example), if everyone always ignores the
I understand that they serve the
static directory manually during the deployment process.
Therefor they use a cloud storage (like AWS S3) from where they feed the static files into the app while deploying.
But how do they behave, if someone wants to change something in the
How does working on the
static directory work in practice, if you need to update and share them within the team regularly?
Anyway this is not my problem, yet.
As long as I work on a local repository on my own I can work and change my files in
static as needed without getting under someones feet.
However I am thinking about this, because of the types of files which people store in the
Apperently it’s common to put stylesheets and images inside the
static files directory.
stylesheets and images in Django projects
- Where should stylesheets in Django projects be stored?
Does it make sense to store stylesheets in the
Intuitively I would put them into the templates directory – next to the HTML template files.
Doesn’t this make most sense, since we will use them there anyway?
Isn’t it unnecessarily complicated to store stylesheets in a
For images: okay – at least for those images which are uploaded by users.
But why would I store the images and the stylesheets, which are providing the basis for the appearance of the website, inside a static directory?
Apparently people put stylesheets in the
Even the official Django docs tutorial as well as the Django Girls tutorial teach us to store stylesheets inside a
Is this what people do in real life projects, too?
Let me summarize my findings:
- You typically use a directory with static files to be served by a cloud, right?
- You typically ignore your static directory using a .gitignore file, right?
- You typically store your images and stylesheets in the static directory, right?
- Images and stylesheets provide the basis for the websites‘ appearence and partially even for the functionality, right?
I think what confuses me is the following:
If teams work together, using a remote repository…
- How do they ensure that everyone always has the up to date version of the static files?
- Is it really the best practice to store images and stylesheets inside a static directory, instead of including them in some kind of frontend-related directory (for example
If you have an opinion of static directories, stylesheets, images and .gitignore files, please let leave a comment below😊