diff options
Diffstat (limited to 'vim/bundle/vim-snippets/snippets/django.snippets')
-rw-r--r-- | vim/bundle/vim-snippets/snippets/django.snippets | 112 |
1 files changed, 112 insertions, 0 deletions
diff --git a/vim/bundle/vim-snippets/snippets/django.snippets b/vim/bundle/vim-snippets/snippets/django.snippets new file mode 100644 index 0000000..e2a8d6d --- /dev/null +++ b/vim/bundle/vim-snippets/snippets/django.snippets @@ -0,0 +1,112 @@ +# Model Fields + +# Note: Optional arguments are using defaults that match what Django will use +# as a default, e.g. with max_length fields. Doing this as a form of self +# documentation and to make it easy to know whether you should override the +# default or not. + +# Note: Optional arguments that are booleans will use the opposite since you +# can either not specify them, or override them, e.g. auto_now_add=False. + +snippet auto + ${1:FIELDNAME} = models.AutoField(${0}) +snippet bigint + ${1:FIELDNAME} = models.BigIntegerField(${0}) +snippet binary + ${1:FIELDNAME} = models.BinaryField(${0}) +snippet bool + ${1:FIELDNAME} = models.BooleanField(${0:default=True}) +snippet char + ${1:FIELDNAME} = models.CharField(max_length=${2}${0:, blank=True}) +snippet comma + ${1:FIELDNAME} = models.CommaSeparatedIntegerField(max_length=${2}${0:, blank=True}) +snippet date + ${1:FIELDNAME} = models.DateField(${2:auto_now_add=True, auto_now=True}${0:, blank=True, null=True}) +snippet datetime + ${1:FIELDNAME} = models.DateTimeField(${2:auto_now_add=True, auto_now=True}${0:, blank=True, null=True}) +snippet decimal + ${1:FIELDNAME} = models.DecimalField(max_digits=${2}, decimal_places=${0}) +snippet email + ${1:FIELDNAME} = models.EmailField(max_length=${2:75}${0:, blank=True}) +snippet file + ${1:FIELDNAME} = models.FileField(upload_to=${2:path/for/upload}${0:, max_length=100}) +snippet filepath + ${1:FIELDNAME} = models.FilePathField(path=${2:"/abs/path/to/dir"}${3:, max_length=100}${4:, match="*.ext"}${5:, recursive=True}${0:, blank=True, }) +snippet float + ${1:FIELDNAME} = models.FloatField(${0}) +snippet image + ${1:FIELDNAME} = models.ImageField(upload_to=${2:path/for/upload}${3:, height_field=height, width_field=width}${0:, max_length=100}) +snippet int + ${1:FIELDNAME} = models.IntegerField(${0}) +snippet ip + ${1:FIELDNAME} = models.IPAddressField(${0}) +snippet nullbool + ${1:FIELDNAME} = models.NullBooleanField(${0}) +snippet posint + ${1:FIELDNAME} = models.PositiveIntegerField(${0}) +snippet possmallint + ${1:FIELDNAME} = models.PositiveSmallIntegerField(${0}) +snippet slug + ${1:FIELDNAME} = models.SlugField(max_length=${2:50}${0:, blank=True}) +snippet smallint + ${1:FIELDNAME} = models.SmallIntegerField(${0}) +snippet text + ${1:FIELDNAME} = models.TextField(${0:blank=True}) +snippet time + ${1:FIELDNAME} = models.TimeField(${2:auto_now_add=True, auto_now=True}${0:, blank=True, null=True}) +snippet url + ${1:FIELDNAME} = models.URLField(${2:verify_exists=False}${3:, max_length=200}${0:, blank=True}) +snippet xml + ${1:FIELDNAME} = models.XMLField(schema_path=${2:None}${0:, blank=True}) +# Relational Fields +snippet fk + ${1:FIELDNAME} = models.ForeignKey(${2:OtherModel}${3:, related_name=''}${4:, limit_choices_to=}${0:, to_field=''}) +snippet m2m + ${1:FIELDNAME} = models.ManyToManyField(${2:OtherModel}${3:, related_name=''}${4:, limit_choices_to=}${5:, symmetrical=False}${6:, through=''}${0:, db_table=''}) +snippet o2o + ${1:FIELDNAME} = models.OneToOneField(${2:OtherModel}${3:, parent_link=True}${4:, related_name=''}${5:, limit_choices_to=}${0:, to_field=''}) + +# Code Skeletons + +snippet form + class ${1:FormName}(forms.Form): + """${2:docstring}""" + ${0} + +snippet model + class ${1:ModelName}(models.Model): + """${2:docstring}""" + ${3} + + class Meta: + ${4} + + def __unicode__(self): + ${5} + + def save(self, *args, **kwargs): + ${6} + + @models.permalink + def get_absolute_url(self): + return ('${7:view_or_url_name}' ${0}) + +snippet modeladmin + class ${1:ModelName}Admin(admin.ModelAdmin): + ${0} + + admin.site.register($1, $1Admin) + +snippet tabularinline + class ${0:ModelName}Inline(admin.TabularInline): + model = $1 + +snippet stackedinline + class ${0:ModelName}Inline(admin.StackedInline): + model = $1 + +snippet r2r + return render_to_response('${1:template.html}', { + ${2} + }${0:, context_instance=RequestContext(request)} + ) |