+1! Few other thoughts - It would also be nice to have best practices regarding version control system file layout (eg. local settings pattern). Besides, I think that tutorial (and overall Django) recommendation to use absolute paths for project-relative locations (templates, static dirs) in settings file is a bit sub-optimal, particularly when project is stored in a shared repository. Most of us end up using os.path.join(os.path.dirname(__file__... trick, so why not make it 'recommended'? Current 'official' approach is to make a copy of settings.py file for each installation. However, usually only a small part of the directives vary from installation to installation, and copying common directives is against DRY.
Have fun, Marijonas On Tue, Jul 17, 2012 at 8:44 PM, Luke Granger-Brown <[email protected]>wrote: > I think it would be good to make a new documentation page suggesting > various best practices - speaking from my point of view, it was hard for me > to figure out what I *should* be doing, because everyone was doing it > differently and each method had their own pros and cons. I ended up using a > mishmash and was in a nightmare situation where nothing actually worked. > > Obviously this page would need to be kept up to date - maybe even just > "some people said these things about Django best practices, read these > blogposts for information" would be fine - just some starting pointers. I > know especially on Windows its not that uncommon to entirely neglect > pip/virtualenv. > On Jul 17, 2012 8:31 PM, "Alex Ogier" <[email protected]> wrote: > >> On Tue, Jul 17, 2012 at 3:07 PM, Jeremy Dunck <[email protected]> wrote: >> >>> I was wondering if people would be opposed to an opinionated tutorial? >>> For example: you should use virtualenv and pip, south, should handle >>> requirements this way, should prefer factories over fixtures, should >>> have this project directory layout, etc. >>> >>> I could go either way - my preferred approach isn't right in all >>> cases, and it might seem a distraction to the absolute beginner or a >>> person who has their own opinions. >> >> >> I think we should shy away from teaching "best practices" when they are >> external to Django. Pointing people at other useful projects in an aside >> may be useful, but making pip, virtualenv and south part of the mainline >> tutorial is a bad idea for two reasons: (1) For people who are already >> versed in python and/or web development best practices, it takes away from >> what they want to learn: the core features of Django that differentiate it >> from other frameworks. (2) For people who are brand new to programming >> and/or python, it blurs boundaries and confuses them about what is really >> important. A new programmer has no way to distinguish between "manage.py >> startproject tutorial" and "pip install south". One is a core feature of >> Django development, the other is a third-party Python tool to download a >> third-party dependency. >> >> People can and do write blog posts all the time that go something like, >> "How to install Django on Ubuntu 12.04" that give a series of six commands >> to paste into a console. There's always the danger that they are incorrect >> or misguided, but on the whole they are more likely to be relevant for >> setting up a sane Django environment on some specific operating system than >> we can be in a general tutorial. They are also dated and appropriately >> transient: a blog post from 2008 can be forgiven for missing some latest >> best practices, whereas a tutorial enshrined in Django's official >> documentation cannot. >> >> Best, >> Alex Ogier >> >> -- >> You received this message because you are subscribed to the Google Groups >> "Django developers" group. >> To post to this group, send email to [email protected]. >> To unsubscribe from this group, send email to >> [email protected]. >> For more options, visit this group at >> http://groups.google.com/group/django-developers?hl=en. >> > -- > You received this message because you are subscribed to the Google Groups > "Django developers" group. > To post to this group, send email to [email protected]. > To unsubscribe from this group, send email to > [email protected]. > For more options, visit this group at > http://groups.google.com/group/django-developers?hl=en. > -- You received this message because you are subscribed to the Google Groups "Django developers" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/django-developers?hl=en.
