First, congrats on the forum upgrade and the new looks :) Parts of the forum appeared in russian to me today, so I assumed something was happening :)
Now, I was integrating askbot into an existing application, merging the settings manually. There were several small issues (askbot uses older django, so some things moved between django.contrib and django.core, some were deprecated etc), but overall no problem. The automated settings.py checks were pretty helpful.
My question is about using askbot together with django.contrib.staticfiles. If I understand correctly, askbot doesn't use staticfiles. Static URLs and directories are hard-coded, and are automatically served by django (btw can this be turned off? i'd prefer to see an error), unless explicitly intercepted by the web server earlier (needs manual configuration with some obscure locations).
Is there any planned support for STATIC_URL, the SERVE_MEDIA flag and the "python manage.py collectstatic" utility? Pretty useful from deployment point of view, IMO.
In askbot we use skins: .html templates, stylesheets and javascript, and the idea is that you should be able to switch the skin by configuration in the live settings.
We did not think yet on how to integrate this with the staticfiles approach, maybe there is a way, worth exploring.
My "quick hack" solution, in case anyone finds it useful:
askbot/views/meta.py, make media() raise an exception.in the askbot application, alias the skins directory as static:
[askbot-devel/askbot]$ ln -s skins static
The second step makes staticfiles automatically recognize and process the askbot static files.
Now "manage.py collectstatic" works -- all static files are in a single place, easy to deploy.
(Alternative way: add os.path.join(ASKBOT_ROOT, 'skins') to STATICFILES_DIRS in settings.py).
However, askbot urls have media locations hardwired under m/ (not STATIC_URL), so we still need to adjust the web server. For nginx:
3.
location /qa/m/ { # qa/ = settings.ASKBOT_URL
expires 7d; # or whatever
alias /content/of/your/settings.STATIC_ROOT/; # check filesystem permissions!
}
If anyone finds a better/cleaner way, please let me know.
EDIT: Actually this entire procedure (all three steps) can be replaced by this patch to askbot code: https://github.com/piskvorky/askbot-devel/commit/0118be48b0272147aa63fd8910b99acbfaa52102
Create your Q&A site at askbot.com. Managed Askbot hosting at just $15/mo. Dedicated hosting, support contracts, consulting services.
create your Q&A siteAsked: 2011-12-06 15:09:15 -0500
Seen: 147 times
Last updated: Dec 06 '11
can I run askbot on tornado instead of django
New install, exception when registering
How to roll-back a setup.py install
What servers and configs is Askbot known to work on?
Error: 'No module named keyedcache'
Error: No module named django_countries.fields
What permissions/environment setting are needed to run the send_email_alerts?
Copyright Askbot, 2010-2011. Content on this site is licensed under a Creative Commons Attribution Share Alike 3.0 license.