Login

All snippets written in Python

2957 snippets

Snippet List

Export Models

Warning: This python script is designed for Django 0.96. It exports data from models quite like the `dumpdata` command, and throws the data to the standard output. It fixes glitches with unicode/ascii characters. It looked like the 0.96 handles very badly unicode characters, unless you specify an argument that is not available via the command line. The simple usage is: $ python export_models.py -a <application1> [application2, application3...] As a plus, it allows you to export only one or several models inside your application, and not all of them: $ python export_models.py application1.MyModelStuff application1.MyOtherModel Of course, you can specify the output format (serializer) with the -f (--format) option. $ python export_models.py --format=xml application1.MyModel

  • tool
  • dump
  • serialization
  • export
  • db
  • database
Read More

activation_required

Simple decorator that checks for authentication and activation of account and redirect to login or activation page if needed Your ulrsconf file must have named urls with parameters that you call that decorator Dont forget to import reverse function from django.core.urlresolvers import reverse

  • decorator
  • auth
Read More

Custom DateField To Handle Credit Card Exp Date. Format: MM/YY

As users would login to their accounts to update their CC info, the expiration date always threw them off. The default format for displaying a datetime.date object is >YYYY-MM-DD Obviously the expiration date on your credit card uses the MM/YY format. I finally got around to creating a custom field/widget to handle this particular piece of data. Use like so... class CustomerForm(forms.ModelForm): cc_exp = DateFieldCCEXP() class Meta: model = Customer

  • datefield
  • credit-card
  • expiration-date
Read More
Author: pjs
  • 1
  • 3

easy absolute path for settings.py

when you deploy djangos apps, some servers have problems resolving the absolute path of some files (e.g: sqlite3 + lighttpd + apache), using the snippet above solves this issue :)

  • settings
Read More

EditInline for GenericForiegnKey II

This is an update to [snippet 765](http://www.djangosnippets.org/snippets/765/) as I was having trouble getting it to work on branches/newforms-admin @ r7771. There are just a few minor changes to the previous snippet, all simple stuff. I went ahead an added can_delete and can_order options that the previous snippet didn't include. [More details in blog post](http://paltman.com/2008/06/29/edit-inline-support-for-generic-relations/).

  • admin
  • foreignkey
  • generic
  • edit-inline
Read More

WithTag Tag

Set a context variable with the returned value by any templatetag. Useful for example in order to use url templatetag inside blocktrans: ` {% withtag url my_app.views.my_view as my_view_url %}` ` {% blocktrans %}` ` Click <a href="{{ my_view_url }}">here</a>` ` {% endblocktrans %}` ` {% endwithtab %}` Or with include templatetag: ` {% withtag include "js_template.js" as js_template %}` ` {{ js_template }}` ` {% endwithtab %}` It works properly with your own custom templatetags.

  • templatetag
  • with
  • withtag
  • with_tag
Read More

ActiveManager: filter objects depending on publication and/or expiration dates

This manager is intended for use with models with publication and/or expiration dates. Objects will be retrieved only if their publication and/or expiration dates are within the current date. Use is very simple: class ExampleModel(models.Model): publish_date = models.DateTimeField() expire_date = models.DateTimeField(blank=True, null=True) objects = models.Manager() actives = ActiveManager(from_date='publish_date', to_date='expire_date') ExampleModel.actives.all() # retrieve active objects according to the current date The manager works correctly with nullable date fields. A null publication date means "*always published (until expiration date)*" and a null expiration date means "*never expires*". Most models should define the `objects` manager as the default manager, because otherwise out of date objects won't appear in the admin app.

  • model
  • manager
  • active
  • publication
  • expiration
  • date-filter
Read More

3rd Party App Directories

How to make this work: * Put the code into your settings.py (or even better, local_settings.py if you have one) * Put 3rd party apps you'd like to use into the directories specified in APP_DIRS. * Place 'appname', into INSTALLED_APPS. Just a little trick I use to keep from having to install apps via setup.py; I can just stick apps into arbitrary locations and use them. I also do this to keep single copies of 3rd party apps I use in multiple projects (but again without installing to the global python path). No idea if this is bad practice or anything, but I find it useful.

  • settings
  • apps
  • applications
Read More

Google Charts Templatetags (Python)

The core templatetags for my project [google-chartwrapper](http://code.google.com/p/google-chartwrapper/). It is an easy method of creating dynamic GoogleCharts from the [GoogleChartAPI](http://code.google.com/apis/chart/). To get the most recent version: `svn checkout http://google-chartwrapper.googlecode.com/svn/trunk/` and run `python setup.py` in the downloaded trunk directory. There is an included django project there with the [ChartsExamples](http://code.google.com/p/google-chartwrapper/wiki/ChartExamples) all worked out in django templates

  • templatetags
  • google
  • chart
Read More

Add multiple parameters to the current url

Add multiple parameters to the current url.<br /> **Usage:**<br /> `{% addparam name1 value1 name2 value2 %}`<br /> or<br /> `{% addparam "name1" value1 "name2" value2 %}`<br /> variable can be use inplace of names and values<br /> example: <br />`{% addparam "view" message.id %}`

  • url
  • templatetags
  • parameter
Read More

Update All Apps to Latest Revision

A simple script that I have put in my Django applications directory to fetch the latest application code from git and svn. For example, your directory structure might look like so: django-apps/ django-tagging/ django-pagination/ django-registration/ django-threadedcomments/ django-mptt/ update_apps.py Where update_apps.py is the source of this snippet. To run, simply execute: # python update_apps.py And the script will iterate through all of your apps and update them to the latest version.

  • script
  • update
  • apps
  • project
  • svn
  • git
Read More

@reply links in Twitter messages

This template filter is rewritten, courtesy of Eric Moritz. It is meant to be used when displaying status messages from Twitter. A regular expression is used to replace all @username replies with a link to that user's Twitter page. In use at [http://ryanberg.net/blog/statuses/](http://ryanberg.net/blog/statuses/)

  • twitter
Read More

Dynamic Template Loader

This snippet provides support for dynamically importing templates. This helps you to avoid naming collisions and other problems. The format is as follows: 1. `module.submodule.app:template.html` 2. `module.submodule.app:subfolder/template.html` 3. `module.submodule.app:/subfolder/template.html` Assuming the module is located in '/var/', these would map (respectively) to: 1. `/var/module/submodule/app/templates/template.html` 2. `/var/module/submodule/app/templates/subfolder/template.html` 3. `/var/module/submodule/app/templates/subfolder/template.html` The colon splits the the python module from the template directory, meaning you can import from anything that has a "templates" directory. This helps me to avoid naming collisions by specifying the application I'm referring to, without having to put long paths in my extends and include tags inside other templates. It's also dynamic in that if I move a library outside the old path, it has no effect on the templates. To get this rolling, in your `settings.py` file, add the following:: >TEMPLATE_LOADERS = ( > 'addons.template_loader.load_template_source', # <--- add this > 'django.template.loaders.app_directories.load_template_source', > 'django.template.loaders.filesystem.load_template_source', ># 'django.template.loaders.eggs.load_template_source', >)

  • template
  • dynamic
  • import
  • loader
Read More