If you have a production, staging, testing and development environment, you might want to have a global checked in (in your version control system) settings.py for production + a local settings.py to override various settings (like database connection).
It's also good for development, since developers don't - by incident - commit to the production settings.py, since they can use their local settings, that should be ignored (.cvsignore, .svnignore or similar).
This is a custom form-field designed to make those optional "enter a discount code" fields a little easier to deal with. You create one like this:
code = CodeLookupField(model=MyModel, field_name='slug', max_length=20)
And then when you validate your form, cleaned_data['code'] will be the actual object if anything was retrieved, or None if the user entered a bad piece of data.
Sometimes the only way to reproduce a bug on a production site is to login as the User who encountered it. This form allows you to login as any user on the site.
**Usage**
@staff_member_required
def login_as(request, template="login_as.html"):
data = request.POST or None
form = LoginAsForm(data, request=request)
if form.is_valid()
form.save()
return HttpResponseRedirect(settings.LOGIN_REDIRECT_URL)
...
This method is replacement for django test runner. It uses nose test runner, which will discover all tests in the application (not even in tests module of applications).
For installing put in settings.py:
`TEST_RUNNER = 'nose_runner.run_tests'`
where *nose_runner* is module containing the code
This allows you to set up a breakpoint anywhere in your template code, by simply writing {% pdb_debug %}.
You can then access your context variables using context.get(..) at the pdb prompt. Optionally, install the ipdb package for colors, completion, and more (easy_install ipdb).
If, like me, you've had trouble installing the [Python Imaging Library](http://www.pythonware.com/products/pil/) or [FreeType](http://freetype.sourceforge.org), you may have also had trouble getting a captcha to work. Here's my quick and dirty workaround — be warned, this is _very_ low level security, and shouldn't be used on high-profile sites.
Originally published at <http://gregbrown.co.nz/code/django-captcha-without-freetype-or-pil/>
Credit to the author of [django-simple-captcha](http://code.google.com/p/django-simple-captcha/), from whom I borrowed most of this code.
### Usage
from django import forms
from ABOVE-FILE import CaptchaField
class CaptchaTestForm(forms.Form):
myfield = forms.TextField()
security_check = CaptchaField()
Heavily based on [Snippet 1033](http://www.djangosnippets.org/snippets/1033/) and [Snippet 766](http://www.djangosnippets.org/snippets/766/).
This snippet tracks what view and templates are used to render HTML responses and inserts a small dialog in the top right corner of the output with links to all the files. If your text editor support opening files from a browser protocol you can click the links to open the files right up! For example TextMate supports the `txmt://` protocol. Really saves some time if you find yourself editing a lot of templates.

**Usage**
1. Save this snippet in a file called `middleware.py` on your Python Path.
2. Add `middleware.EditingMiddleware` to your `MIDDLEWARE_CLASSES`.
3. Browse to any HTML page on your site!
Adds a templatetag that works like an if block, but . The one and only argument is a float that reflects the percentage chance. It defaults to .2, %20.
{% sometimes %}
<img src='spy_behind_sniper.jpg'/>
{% else %}
<img src='sniper.jpg'/>
{% endsometimes %}
-- or --
{% sometimes .001 %}
You win!
{% else %}
Sorry, not a winner. Play again!
{% endsometimes %}
-- or --
{% sometimes .5 %}
This shows up half the time.
{% endsometimes %}
This is another partial tag, taken from a previous partial tag.
The previous one assumed template locations by hardcoding in "partials/%s", etc. I took all that out, and made it work. And I took out the not needed third parameter for passing in your own data
So now you call like this:
{% partial "partials/mypartial.html" %}
It passes the template context var into the partial, so anything you do in the main template, will work in the partial
Just make sure you've got all the right imports.
Is an updated way of splitting contents for a token, it does the split, but fixes the list..
EX:
From a tag call like this: {% partial "partials/template.html" %}
usually you get: ['partial','"partials/template.html"']
notice the " double quotes
fixes it with: ['partial','partials/template.html']
takes out the " quotes
This table tag helps with render tables, which can be fairly complex.
I updated the previous table tag (296).
I added support for oddrow,evenrow,lastcellinrow,oddcol,evencol. And made a few minor adjustments to syntax formatting, and some non needed if conditionals
These are all of the supported variables available in the context
{{table.counter0}}
{{table.counter}}
{{table.rowcounter0}}
{{table.rowcounter}}
{{table.startrow}}
{{table.endrow}}
{{table.oddrow}}
{{table.evenrow}}
{{table.firstrow}}
{{table.lastrow}}
{{table.firstcell}}
{{table.lastcell}}
{{table.lastcellinrow}}
{{table.evencol}}
{{table.oddcol}}
{{table.parenttable}}
the snippet improve juliocarlos's greate works(see [http://www.djangosnippets.org/snippets/1235/](http://www.djangosnippets.org/snippets/1235/) ) ,merge functtions to one middlewere class, fixed url regular expression and eliminate AJAX support etc...
it's tested with django 1.0.2 and work fine on my wap site.
* the middlewere must before SessionMiddlewar in MIDDLEWARE_CLASSES tuple
eg:
MIDDLEWARE_CLASSES = (
'django.middleware.common.CommonMiddleware',
'middleware.cookieless_session.CookielessSessionMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
)