I broke up with neovim....vim is my best friend now
This commit is contained in:
@@ -0,0 +1,108 @@
|
||||
{
|
||||
"adminview": {
|
||||
"prefix": "adminview",
|
||||
"body": [
|
||||
"@admin.register(${1})",
|
||||
"class ${1}Admin(admin.ModelAdmin):",
|
||||
"\t'''Admin View for ${1}'''",
|
||||
"",
|
||||
"\tlist_display = ('${2}',)",
|
||||
"\tlist_filter = ('${3}',)",
|
||||
"\tinlines = [",
|
||||
"\t\t${4}Inline,",
|
||||
"\t]",
|
||||
"\traw_id_fields = ('${5}',)",
|
||||
"\treadonly_fields = ('${6}',)",
|
||||
"\tsearch_fields = ('${7}',)",
|
||||
"\tdate_hierarchy = '${8}'",
|
||||
"\tordering = ('${9}',)"
|
||||
],
|
||||
"description": "Model Admin View",
|
||||
"scope": "source.python"
|
||||
},
|
||||
"stackedinline": {
|
||||
"prefix": "stackedinline",
|
||||
"body": [
|
||||
"class ${1}Inline(admin.StackedInline):",
|
||||
"\t'''Stacked Inline View for ${1}'''",
|
||||
"",
|
||||
"\tmodel = ${2:${1}}",
|
||||
"\tmin_num = ${3:3}",
|
||||
"\tmax_num = ${4:20}",
|
||||
"\textra = ${5:1}",
|
||||
"\traw_id_fields = (${6},)"
|
||||
],
|
||||
"description": "Stacked Inline",
|
||||
"scope": "source.python"
|
||||
},
|
||||
"tabularinline": {
|
||||
"prefix": "tabularinline",
|
||||
"body": [
|
||||
"class ${1}Inline(admin.TabularInline):",
|
||||
"\t'''Tabular Inline View for ${1}'''",
|
||||
"",
|
||||
"\tmodel = ${2:${1}}",
|
||||
"\tmin_num = ${3:3}",
|
||||
"\tmax_num = ${4:20}",
|
||||
"\textra = ${5:1}",
|
||||
"\traw_id_fields = (${6},)"
|
||||
],
|
||||
"description": "Tabular Inline",
|
||||
"scope": "source.python"
|
||||
},
|
||||
"simplelistfilter": {
|
||||
"prefix": "simplelistfilter",
|
||||
"body": [
|
||||
"class ${1:NAME}Filter(admin.SimpleListFilter):",
|
||||
"",
|
||||
"\ttitle = '$2'",
|
||||
"\tparameter_name = '$0'",
|
||||
"",
|
||||
"\tdef lookups(self, request, model_admin):",
|
||||
"\t\tpass",
|
||||
"",
|
||||
"\tdef queryset(self, request, queryset):",
|
||||
"\t\treturn queryset"
|
||||
],
|
||||
"description": "Admin SimpleList Filter",
|
||||
"scope": "source.python"
|
||||
},
|
||||
"iadmin": {
|
||||
"prefix": "iadmin",
|
||||
"body": "from django.contrib import admin",
|
||||
"description": "from ... import admin",
|
||||
"scope": "source.python"
|
||||
},
|
||||
"iadminsite": {
|
||||
"prefix": "iadminsite",
|
||||
"body": "from django.contrib.admin import AdminSite",
|
||||
"description": "from ... import AdminSite",
|
||||
"scope": "source.python"
|
||||
},
|
||||
"register": {
|
||||
"prefix": "register",
|
||||
"body": "admin.site.register($1)",
|
||||
"description": "register the model class without providing a ModelAdmin description.",
|
||||
"scope": "source.python"
|
||||
},
|
||||
"registermadmin": {
|
||||
"prefix": "registermadmin",
|
||||
"body": "admin.site.register($1, $1Admin)",
|
||||
"description": "register the model class providing a ModelAdmin description",
|
||||
"scope": "source.python"
|
||||
},
|
||||
"fieldsets": {
|
||||
"prefix": "fieldsets",
|
||||
"body": [
|
||||
"fieldsets = (",
|
||||
"\t(None, {",
|
||||
"\t\t'fields': (",
|
||||
"\t\t\t$1",
|
||||
"\t\t),",
|
||||
"\t}),",
|
||||
")"
|
||||
],
|
||||
"description": "",
|
||||
"scope": "source.python"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,201 @@
|
||||
{
|
||||
"DRF Serializer (class)": {
|
||||
"prefix": "serializer",
|
||||
"body": [
|
||||
"class ${1:Name}Serializer(serializers.Serializer):",
|
||||
"\t${2}"
|
||||
],
|
||||
"description": "Django-rest Serializers ``Serializer`` Class"
|
||||
},
|
||||
"DRF ModelSerializer (class)": {
|
||||
"prefix": "modelserializer",
|
||||
"body": [
|
||||
"class ${1:Name}ModelSerializer(serializers.ModelSerializer):",
|
||||
"\t${2}",
|
||||
"\tclass Meta:",
|
||||
"\t\tmodel = ${3:$1}",
|
||||
"\t\tfields = \"${4:__all__}\""
|
||||
],
|
||||
"description": "Django-rest Serializers ``ModelSerializer`` Class"
|
||||
},
|
||||
"DRF Create (serializers-method)": {
|
||||
"prefix": "screate",
|
||||
"body": [
|
||||
"def create(self, validated_data):",
|
||||
"\treturn ${1:super().create(validated_data)}"
|
||||
],
|
||||
"description": "Django-rest Serializers ``Create`` Method"
|
||||
},
|
||||
"DRF Update (serializers-method)": {
|
||||
"prefix": "supdate",
|
||||
"body": [
|
||||
"def update(self, instance, validated_data):",
|
||||
"\treturn ${1:super().update(instance, validated_data)}"
|
||||
],
|
||||
"description": "Django-rest Serializers ``Update`` Method"
|
||||
},
|
||||
"DRF BooleanField": {
|
||||
"prefix": "sbool",
|
||||
"body": "${1:FIELDNAME} = serializers.BooleanField(${2})",
|
||||
"description": "Django-rest Serializers ``BooleanField``"
|
||||
},
|
||||
"DRF CharField": {
|
||||
"prefix": "schar",
|
||||
"body": "${1:FIELDNAME} = serializers.CharField(${2})",
|
||||
"description": "Django-rest Serializers ``CharField``"
|
||||
},
|
||||
"DRF DateField": {
|
||||
"prefix": "sdate",
|
||||
"body": "${1:FIELDNAME} = serializers.DateField(${2})",
|
||||
"description": "Django-rest Serializers ``DateField``"
|
||||
},
|
||||
"DRF DateTimeField": {
|
||||
"prefix": "sdatetime",
|
||||
"body": "${1:FIELDNAME} = serializers.DateTimeField(${2})",
|
||||
"description": "Django-rest Serializers ``DateTimeField``"
|
||||
},
|
||||
"DRF DecimalField": {
|
||||
"prefix": "sdecimal",
|
||||
"body": "${1:FIELDNAME} = serializers.DecimalField(max_digits=${2}, decimal_places=${3})",
|
||||
"description": "Django-rest Serializers ``DecimalField``"
|
||||
},
|
||||
"DRF DictField": {
|
||||
"prefix": "sdict",
|
||||
"body": "${1:FIELDNAME} = serializers.DictField(child=${2})",
|
||||
"description": "Django-rest Serializers ``DictField``"
|
||||
},
|
||||
"DRF DurationField": {
|
||||
"prefix": "sduration",
|
||||
"body": "${1:FIELDNAME} = serializers.DurationField(${2})",
|
||||
"description": "Django-rest Serializers ``DurationField``"
|
||||
},
|
||||
"DRF EmailField": {
|
||||
"prefix": "semail",
|
||||
"body": "${1:FIELDNAME} = serializers.EmailField(${2})",
|
||||
"description": "Django-rest Serializers ``EmailField``"
|
||||
},
|
||||
"DRF FileField": {
|
||||
"prefix": "sfile",
|
||||
"body": "${1:FIELDNAME} = serializers.FileField(${2})",
|
||||
"description": "Django-rest Serializers ``FileField``"
|
||||
},
|
||||
"DRF FilePathField": {
|
||||
"prefix": "sfilepath",
|
||||
"body": "${1:FIELDNAME} = serializers.FilePathField(path=${2})",
|
||||
"description": "Django-rest Serializers ``FilePathField``"
|
||||
},
|
||||
"DRF FloatField": {
|
||||
"prefix": "sfloat",
|
||||
"body": "${1:FIELDNAME} = serializers.FloatField(${2})",
|
||||
"description": "Django-rest Serializers ``FloatField``"
|
||||
},
|
||||
"DRF HiddenField": {
|
||||
"prefix": "shidden",
|
||||
"body": "${1:FIELDNAME} = serializers.HiddenField(${2})",
|
||||
"description": "Django-rest Serializers ``HiddenField``"
|
||||
},
|
||||
"DRF HyperlinkedRelatedField": {
|
||||
"prefix": "shyperlinkrelated",
|
||||
"body": "${1:FIELDNAME} = serializers.HyperlinkedRelatedField(${2})",
|
||||
"description": "Django-rest Serializers ``HyperlinkedRelatedField``"
|
||||
},
|
||||
"DRF ImageField": {
|
||||
"prefix": "simg",
|
||||
"body": "${1:FIELDNAME} = serializers.ImageField(${2})",
|
||||
"description": "Django-rest Serializers ``ImageField``"
|
||||
},
|
||||
"DRF IntegerField": {
|
||||
"prefix": "sint",
|
||||
"body": "${1:FIELDNAME} = serializers.IntegerField(${2})",
|
||||
"description": "Django-rest Serializers ``IntegerField``"
|
||||
},
|
||||
"DRF IPAddressField": {
|
||||
"prefix": "sip",
|
||||
"body": "${1:FIELDNAME} = serializers.IPAddressField(${2})",
|
||||
"description": "Django-rest Serializers ``IPAddressField``"
|
||||
},
|
||||
"DRF JSONField": {
|
||||
"prefix": "sjson",
|
||||
"body": "${1:FIELDNAME} = serializers.JSONField(binary=${2})",
|
||||
"description": "Django-rest Serializers ``JSONField``"
|
||||
},
|
||||
"DRF ListField": {
|
||||
"prefix": "slist",
|
||||
"body": "${1:FIELDNAME} = serializers.ListField(child=${2})",
|
||||
"description": "Django-rest Serializers ``ListField``"
|
||||
},
|
||||
"DRF ModelField": {
|
||||
"prefix": "smodel",
|
||||
"body": "${1:FIELDNAME} = serializers.ModelField(model_field=${2})",
|
||||
"description": "Django-rest Serializers `ModelField``"
|
||||
},
|
||||
"DRF ChoiceField": {
|
||||
"prefix": "schoice",
|
||||
"body": "${1:FIELDNAME} = serializers.ChoiceField(choices={${2}})",
|
||||
"description": "Django-rest Serializers ``ChoiceField``"
|
||||
},
|
||||
"DRF MultipleChoiceField": {
|
||||
"prefix": "smchoice",
|
||||
"body": "${1:FIELDNAME} = serializers.MultipleChoiceField(choices=${2})",
|
||||
"description": "Django-rest Serializers ``MultipleChoiceField``"
|
||||
},
|
||||
"DRF NullBooleanField": {
|
||||
"prefix": "snullbool",
|
||||
"body": "${1:FIELDNAME} = serializers.NullBooleanField(${2})",
|
||||
"description": "Django-rest Serializers ``NullBooleanField``"
|
||||
},
|
||||
"DRF PrimaryKeyRelatedField": {
|
||||
"prefix": "spkr",
|
||||
"body": "${1:FIELDNAME} = serializers.PrimaryKeyRelatedField(${2})",
|
||||
"description": "Django-rest Serializers ``PrimaryKeyRelatedField``"
|
||||
},
|
||||
"DRF ReadOnlyField": {
|
||||
"prefix": "sreadonly",
|
||||
"body": "${1:FIELDNAME} = serializers.ReadOnlyField(${2})",
|
||||
"description": "Django-rest Serializers ``ReadOnlyField``"
|
||||
},
|
||||
"DRF RegexField": {
|
||||
"prefix": "sregex",
|
||||
"body": "${1:FIELDNAME} = serializers.RegexField(regex=${2})",
|
||||
"description": "Django-rest Serializers `RegexField``"
|
||||
},
|
||||
"DRF SerializerMethodField": {
|
||||
"prefix": "ssmethod",
|
||||
"body": [
|
||||
"${1:FIELDNAME} = serializers.SerializerMethodField(${2})",
|
||||
"def get_$1(self, object):",
|
||||
"\treturn"
|
||||
],
|
||||
"description": "Django-rest Serializers ``SerializerMethodField``"
|
||||
},
|
||||
"DRF SlugField": {
|
||||
"prefix": "sslug",
|
||||
"body": "${1:FIELDNAME} = serializers.SlugField(${2})",
|
||||
"description": "Django-rest Serializers ``SlugField``"
|
||||
},
|
||||
"DRF SlugRelatedField": {
|
||||
"prefix": "sslugrelated",
|
||||
"body": "${1:FIELDNAME} = serializers.SlugRelatedField(${2})",
|
||||
"description": "Django-rest Serializers ``SlugRelatedField``"
|
||||
},
|
||||
"DRF StringRelatedField": {
|
||||
"prefix": "ssr",
|
||||
"body": "${1:FIELDNAME} = serializers.StringRelatedField(${2})",
|
||||
"description": "Django-rest Serializers ``StringRelatedField``"
|
||||
},
|
||||
"DRF TimeField": {
|
||||
"prefix": "stime",
|
||||
"body": "${1:FIELDNAME} = serializers.TimeField(${2})",
|
||||
"description": "Django-rest Serializers ``TimeField``"
|
||||
},
|
||||
"DRF URLField": {
|
||||
"prefix": "surl",
|
||||
"body": "${1:FIELDNAME} = serializers.URLField(${2})",
|
||||
"description": "Django-rest Serializers ``URLField``"
|
||||
},
|
||||
"DRF UUIDField": {
|
||||
"prefix": "suuid",
|
||||
"body": "${1:FIELDNAME} = serializers.UUIDField(${2})",
|
||||
"description": "Django-rest Serializers ``UUIDField``"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,153 @@
|
||||
{
|
||||
"DRF ApiView": {
|
||||
"prefix": "apiview",
|
||||
"body": [
|
||||
"class ${1:Name}APIView(APIView):",
|
||||
"\t${2}"
|
||||
],
|
||||
"description": "Django-rest Views ``ApiView`` Class"
|
||||
},
|
||||
"DRF CreateApiView": {
|
||||
"prefix": "createapiview",
|
||||
"body": [
|
||||
"class ${1:Name}CreateApiView(generics.CreateApiView):",
|
||||
"\tserializer_class = ${2:$1Serializer}"
|
||||
],
|
||||
"description": "Django-rest Views ``CreateApi`` Class"
|
||||
},
|
||||
"DRF DestoryApiView": {
|
||||
"prefix": "destoryapiview",
|
||||
"body": [
|
||||
"class ${1:Name}DestoryApiView(generics.DestoryApiView):",
|
||||
"\tserializer_class = ${2:$1Serializer}",
|
||||
"\tqueryset = $1.objects.filter(${3})"
|
||||
],
|
||||
"description": "Django-rest Views ``DestoryApiView`` Class"
|
||||
},
|
||||
"DRF ListApiView": {
|
||||
"prefix": "listapiview",
|
||||
"body": [
|
||||
"class ${1:Name}ListApiView(generics.ListApiView):",
|
||||
"\tserializer_class = ${2:$1Serializer}",
|
||||
"\tqueryset = $1.objects.filter(${3})"
|
||||
],
|
||||
"description": "Django-rest Views ``ListApiView`` Class"
|
||||
},
|
||||
"DRF ListCreateApiView": {
|
||||
"prefix": "listcreateapiview",
|
||||
"body": [
|
||||
"class ${1:Name}ListCreateApiView(generics.ListCreateApiView):",
|
||||
"\tserializer_class = ${2:$1Serializer}",
|
||||
"\tqueryset = $1.objects.filter(${3})"
|
||||
],
|
||||
"description": "Django-rest Views ``ListCreateApiView`` Class"
|
||||
},
|
||||
"DRF RetrieveAPIView": {
|
||||
"prefix": "retrieveapiview",
|
||||
"body": [
|
||||
"class ${1:Name}RetrieveAPIView(generics.RetrieveAPIView):",
|
||||
"\tserializer_class = ${2:$1Serializer}",
|
||||
"\tqueryset = $1.objects.filter(${3})"
|
||||
],
|
||||
"description": "Django-rest Views ``RetrieveAPIView`` Class"
|
||||
},
|
||||
"DRF RetrieveDestroyAPIView": {
|
||||
"prefix": "retrievedestoryapiview",
|
||||
"body": [
|
||||
"class ${1:Name}RetrieveDestroyAPIView(generics.RetrieveDestroyAPIView):",
|
||||
"\tserializer_class = ${2:$1Serializer}",
|
||||
"\tqueryset = $1.objects.filter(${3})"
|
||||
],
|
||||
"description": "Django-rest Views ``RetrieveDestroyAPIView`` Class"
|
||||
},
|
||||
"DRF RetrieveUpdateAPIView": {
|
||||
"prefix": "retrieveupdateapiview",
|
||||
"body": [
|
||||
"class ${1:Name}RetrieveUpdateAPIView(generics.RetrieveUpdateAPIView):",
|
||||
"\tserializer_class = ${2:$1Serializer}",
|
||||
"\tqueryset = $1.objects.filter(${3})"
|
||||
],
|
||||
"description": "Django-rest Views ``RetrieveUpdateAPIView`` Class"
|
||||
},
|
||||
"DRF RetrieveUpdateDestoryAPIView": {
|
||||
"prefix": "retrieveupdatedestoryapiview",
|
||||
"body": [
|
||||
"class ${1:Name}RetrieveUpdateDestoryAPIView(generics.RetrieveUpdateDestoryAPIView):",
|
||||
"\tserializer_class = ${2:$1Serializer}",
|
||||
"\tqueryset = $1.objects.filter(${3})"
|
||||
],
|
||||
"description": "Django-rest Views ``RetrieveUpdateDestoryAPIView`` Class"
|
||||
},
|
||||
"DRF UpdateApiView": {
|
||||
"prefix": "updateapiview",
|
||||
"body": [
|
||||
"class ${1:Name}UpdateApiView(generics.UpdateApiView):",
|
||||
"\tserializer_class = ${2:$1Serializer}",
|
||||
"\tqueryset = $1.objects.filter(${3})"
|
||||
],
|
||||
"description": "Django-rest Views ``UpdateApiView`` Class"
|
||||
},
|
||||
|
||||
"DRF perform_create": {
|
||||
"prefix": "performcreate",
|
||||
"body": [
|
||||
"def perform_create(self, serializer):",
|
||||
"\treturn ${1:super().perform_create(serializer)}"
|
||||
],
|
||||
"description": "Django-rest Views ``perform_create`` method"
|
||||
},
|
||||
"DRF perform_update": {
|
||||
"prefix": "perfromupdate",
|
||||
"body": [
|
||||
"def perform_create(self, serializer):",
|
||||
"\treturn ${1:super().perform_create(serializer)}"
|
||||
],
|
||||
"description": "Django-rest Views ``perform_create`` method"
|
||||
},
|
||||
"DRF perform_destory": {
|
||||
"prefix": "performdestory",
|
||||
"body": [
|
||||
"def perform_ddestory(self, instance):",
|
||||
"\treturn ${1:super().perform_destory(instance)}"
|
||||
],
|
||||
"description": "Django-rest Views ``perform_create`` method"
|
||||
},
|
||||
|
||||
"DRF ModelViewSet": {
|
||||
"prefix": "modelviewset",
|
||||
"body": [
|
||||
"class ${1:Name}ModelViewSet(viewsets.ModelViewSet):",
|
||||
"\tserializer_class = ${2:$1Serializer}",
|
||||
"\tqueryset = $1.objects.filter(${3})"
|
||||
],
|
||||
"description": "Django-rest Views ``ModelViewSet`` Class"
|
||||
},
|
||||
"DRF ReadOnlyModelViewSet": {
|
||||
"prefix": "readonlymodelviewset",
|
||||
"body": [
|
||||
"class ${1:Name}ReadOnlyModelViewSet(viewsets.ReadOnlyModelViewSet):",
|
||||
"\tserializer_class = ${2:$1Serializer}",
|
||||
"\tqueryset = $1.objects.filter(${3})"
|
||||
],
|
||||
"description": "Django-rest Views ``ReadOnlyModelViewSet`` Class"
|
||||
},
|
||||
"DRF ViewSet": {
|
||||
"prefix": "viewset",
|
||||
"body": [
|
||||
"class ${1:Name}ViewSet(viewsets.ViewSet):",
|
||||
"\tdef list(self, request):",
|
||||
"\t\tpass",
|
||||
"\tdef create(self, request):",
|
||||
"\t\tpass",
|
||||
"\tdef retrieve(self, request, pk=None):",
|
||||
"\t\tpass",
|
||||
"\tdef update(self, request, pk=None):",
|
||||
"\t\tpass",
|
||||
"\tdef partial_update(self, request, pk=None):",
|
||||
"\t\tpass",
|
||||
"\tdef destroy(self, request, pk=None):",
|
||||
"\t\tpass"
|
||||
],
|
||||
"description": "Django-rest Views ``ViewSet`` Class"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,287 @@
|
||||
{
|
||||
"Form": {
|
||||
"prefix": "Form",
|
||||
"body": [
|
||||
"class ${1:FORMNAME}(forms.Form):",
|
||||
"\t\"\"\"${2:$1 definition}.\"\"\"",
|
||||
"",
|
||||
"\t${3:# TODO: Define form fields here}",
|
||||
""
|
||||
],
|
||||
"description": "Form",
|
||||
"scope": "source.python"
|
||||
},
|
||||
"ModelForm": {
|
||||
"prefix": "ModelForm",
|
||||
"body": [
|
||||
"class ${1:MODELNAME}Form(forms.ModelForm):",
|
||||
"\t\"\"\"${2:Form definition for $1}.\"\"\"",
|
||||
"",
|
||||
"\tclass Meta:",
|
||||
"\t\t\"\"\"Meta definition for ${1}form.\"\"\"",
|
||||
"",
|
||||
"\t\tmodel = $1",
|
||||
"\t\tfields = ('$3',)",
|
||||
""
|
||||
],
|
||||
"description": "ModelForm",
|
||||
"scope": "source.python"
|
||||
},
|
||||
"fbool": {
|
||||
"prefix": "fbool",
|
||||
"body": "${1:FIELDNAME} = forms.BooleanField($2, required=${3:False})",
|
||||
"description": "BooleanField (fbool)",
|
||||
"scope": "source.python"
|
||||
},
|
||||
"fchar": {
|
||||
"prefix": "fchar",
|
||||
"body": "${1:FIELDNAME} = forms.CharField($2,${3: max_length=$4,} required=${5:False})",
|
||||
"description": "CharField (fchar)",
|
||||
"scope": "source.python"
|
||||
},
|
||||
"fchoice": {
|
||||
"prefix": "fchoice",
|
||||
"body": "${1:FIELDNAME} = forms.ChoiceField($2, choices=[${3:CHOICES}], required=${4:False})",
|
||||
"description": "ChoiceField (fchoice)",
|
||||
"scope": "source.python"
|
||||
},
|
||||
"fcombo": {
|
||||
"prefix": "fcombo",
|
||||
"body": "${1:FIELDNAME} = forms.ComboField($2)",
|
||||
"description": "ComboField (fcombo)",
|
||||
"scope": "source.python"
|
||||
},
|
||||
"fdate": {
|
||||
"prefix": "fdate",
|
||||
"body": "${1:FIELDNAME} = forms.DateField($2, required=${3:False})",
|
||||
"description": "DateField (fdate)",
|
||||
"scope": "source.python"
|
||||
},
|
||||
"fdatetime": {
|
||||
"prefix": "fdatetime",
|
||||
"body": "${1:FIELDNAME} = forms.DateTimeField($2, required=${3:False})",
|
||||
"description": "DateTimeField (fdatetime)",
|
||||
"scope": "source.python"
|
||||
},
|
||||
"fdecimal": {
|
||||
"prefix": "fdecimal",
|
||||
"body": "${1:FIELDNAME} = forms.DecimalField($2, required=${3:False})",
|
||||
"description": "DecimalField (fdecimal)",
|
||||
"scope": "source.python"
|
||||
},
|
||||
"fduration": {
|
||||
"prefix": "fduration",
|
||||
"body": "${1:FIELDNAME} = forms.DurationField($2, required=${3:False})",
|
||||
"description": "DurationField (fduration)",
|
||||
"scope": "source.python"
|
||||
},
|
||||
"femail": {
|
||||
"prefix": "femail",
|
||||
"body": "${1:FIELDNAME} = forms.EmailField($2, required=${3:False})",
|
||||
"description": "EmailField (femail)",
|
||||
"scope": "source.python"
|
||||
},
|
||||
"ffile": {
|
||||
"prefix": "ffile",
|
||||
"body": "${1:FIELDNAME} = forms.FileField($2,${3: max_length=$4,} required=${5:False})",
|
||||
"description": "FileField (ffile)",
|
||||
"scope": "source.python"
|
||||
},
|
||||
"ffilepath": {
|
||||
"prefix": "ffilepath",
|
||||
"body": "${1:FIELDNAME} = forms.FilePathField($2, path=${3:/absolute_path/}, required=${4:False})",
|
||||
"description": "FilePathField (ffilepath)",
|
||||
"scope": "source.python"
|
||||
},
|
||||
"ffloat": {
|
||||
"prefix": "ffloat",
|
||||
"body": "${1:FIELDNAME} = forms.FloatField($2, required=${3:False})",
|
||||
"description": "FloatField (ffloat)",
|
||||
"scope": "source.python"
|
||||
},
|
||||
"fip": {
|
||||
"prefix": "fip",
|
||||
"body": "${1:FIELDNAME} = forms.IPAddressField($2)",
|
||||
"description": "IPAddressField (fip).\n\nThis field has been deprecated since version 1.7 in favor of GenericIPAddressField.\n\n",
|
||||
"scope": "source.python"
|
||||
},
|
||||
"fgenericip": {
|
||||
"prefix": "fip",
|
||||
"body": "${1:FIELDNAME} = forms.GenericIPAddressField($2)",
|
||||
"description": "IPAddressField (fgenericip)",
|
||||
"scope": "source.python"
|
||||
},
|
||||
"fimg": {
|
||||
"prefix": "fimg",
|
||||
"body": "${1:FIELDNAME} = forms.ImageField($2, required=${3:False})",
|
||||
"description": "ImageField (fimg)",
|
||||
"scope": "source.python"
|
||||
},
|
||||
"fint": {
|
||||
"prefix": "fint",
|
||||
"body": "${1:FIELDNAME} = forms.IntegerField($2, required=${3:False})",
|
||||
"description": "IntegerField (fint)",
|
||||
"scope": "source.python"
|
||||
},
|
||||
"fmochoice": {
|
||||
"prefix": "fmochoice",
|
||||
"body": "${1:FIELDNAME} = forms.ModelChoiceField($2)",
|
||||
"description": "ModelChoiceField (fmochoice)",
|
||||
"scope": "source.python"
|
||||
},
|
||||
"fmomuchoice": {
|
||||
"prefix": "fmomuchoice",
|
||||
"body": "${1:FIELDNAME} = forms.ModelMultipleChoiceField($2)",
|
||||
"description": "ModelMultipleChoiceField (fmomuchoice)",
|
||||
"scope": "source.python"
|
||||
},
|
||||
"fmuval": {
|
||||
"prefix": "fmuval",
|
||||
"body": "${1:FIELDNAME} = forms.MultiValueField($2)",
|
||||
"description": "MultiValueField (fmuval)",
|
||||
"scope": "source.python"
|
||||
},
|
||||
"fmuchoice": {
|
||||
"prefix": "fmuchoice",
|
||||
"body": "${1:FIELDNAME} = forms.MultipleChoiceField($2, choices=[${3:CHOICES}], required=${4:False})",
|
||||
"description": "MultipleChoiceField (fmuchoice)",
|
||||
"scope": "source.python"
|
||||
},
|
||||
"ftypedmuchoice": {
|
||||
"prefix": "ftypedmuchoice",
|
||||
"body": "${1:FIELDNAME} = forms.TypedMultipleChoiceField($2, choices=[${3:CHOICES}], coerce=${4:TYPE}, required=${5:False})",
|
||||
"description": "TypedMultipleChoiceField (ftypedmuchoice)",
|
||||
"scope": "source.python"
|
||||
},
|
||||
"fnullbool": {
|
||||
"prefix": "fnullbool",
|
||||
"body": "${1:FIELDNAME} = forms.NullBooleanField($2, required=${3:False})",
|
||||
"description": "NullBooleanField (fnullbool)",
|
||||
"scope": "source.python"
|
||||
},
|
||||
"fregex": {
|
||||
"prefix": "fregex",
|
||||
"body": "${1:FIELDNAME} = forms.RegexField($2, regex=${3:REGEX}, required=${4:False})",
|
||||
"description": "RegexField (fregex)",
|
||||
"scope": "source.python"
|
||||
},
|
||||
"fslug": {
|
||||
"prefix": "fslug",
|
||||
"body": "${1:FIELDNAME} = forms.SlugField($2, allow_unicode=${3:False}, required=${4:False})",
|
||||
"description": "SlugField (fslug)",
|
||||
"scope": "source.python"
|
||||
},
|
||||
"fsdatetime": {
|
||||
"prefix": "fsdatetime",
|
||||
"body": "${1:FIELDNAME} = forms.SplitDateTimeField($2)",
|
||||
"description": "SplitDateTimeField (fsdatetime)",
|
||||
"scope": "source.python"
|
||||
},
|
||||
"ftime": {
|
||||
"prefix": "ftime",
|
||||
"body": "${1:FIELDNAME} = forms.TimeField($2, required=${3:False})",
|
||||
"description": "TimeField (ftime)",
|
||||
"scope": "source.python"
|
||||
},
|
||||
"ftchoice": {
|
||||
"prefix": "ftchoice",
|
||||
"body": "${1:FIELDNAME} = forms.TypedChoiceField($2, required=${3:False})",
|
||||
"description": "TypedChoiceField (ftchoice)",
|
||||
"scope": "source.python"
|
||||
},
|
||||
"ftmuchoice": {
|
||||
"prefix": "ftmuchoice",
|
||||
"body": "${1:FIELDNAME} = forms.TypedMultipleChoiceField($2)",
|
||||
"description": "TypedMultipleChoiceField (ftmuchoice)",
|
||||
"scope": "source.python"
|
||||
},
|
||||
"furl": {
|
||||
"prefix": "furl",
|
||||
"body": "${1:FIELDNAME} = forms.URLField($2, required=${3:False})",
|
||||
"description": "URLField (furl)",
|
||||
"scope": "source.python"
|
||||
},
|
||||
"fuuid": {
|
||||
"prefix": "fuuid",
|
||||
"body": "${1:FIELDNAME} = forms.UUIDField($2, required=${3:False})",
|
||||
"description": "UUIDField (fuuid)",
|
||||
"scope": "source.python"
|
||||
},
|
||||
"fsimplearray": {
|
||||
"prefix": "fsimplearray",
|
||||
"body": "${1:FIELDNAME} = SimpleArrayField()",
|
||||
"description": "SimpleArrayField (fsimplearray).\n\n*PostgreSQL specific form fields*.",
|
||||
"scope": "source.python"
|
||||
},
|
||||
"fsplitarray": {
|
||||
"prefix": "fsplitarray",
|
||||
"body": "${1:FIELDNAME} = SplitArrayField()",
|
||||
"description": "SplitArrayField (fsplitarray).\n\n*PostgreSQL specific form fields*.",
|
||||
"scope": "source.python"
|
||||
},
|
||||
"fhstore": {
|
||||
"prefix": "fhstore",
|
||||
"body": "${1:FIELDNAME} = HStoreField()",
|
||||
"description": "HStoreField (fhstore).\n\n*PostgreSQL specific form fields*.",
|
||||
"scope": "source.python"
|
||||
},
|
||||
"fjson": {
|
||||
"prefix": "fjson",
|
||||
"body": "${1:FIELDNAME} = JSONField()",
|
||||
"description": "JSONField (fjson).\n\n*PostgreSQL specific form fields*.",
|
||||
"scope": "source.python"
|
||||
},
|
||||
"fintrange": {
|
||||
"prefix": "fintrange",
|
||||
"body": "${1:FIELDNAME} = IntegerRangeField()",
|
||||
"description": "IntegerRangeField (fintrange).\n\n*PostgreSQL specific form fields*.",
|
||||
"scope": "source.python"
|
||||
},
|
||||
"ffloatrange": {
|
||||
"prefix": "ffloatrange",
|
||||
"body": "${1:FIELDNAME} = FloatRangeField()",
|
||||
"description": "FloatRangeField (ffloatrange).\n\n*PostgreSQL specific form fields*.",
|
||||
"scope": "source.python"
|
||||
},
|
||||
"fdatetimerange": {
|
||||
"prefix": "fdatetimerange",
|
||||
"body": "${1:FIELDNAME} = DateTimeRangeField()",
|
||||
"description": "DateTimeRangeField (fdatetimerange).\n\n*PostgreSQL specific form fields*.",
|
||||
"scope": "source.python"
|
||||
},
|
||||
"fdaterange": {
|
||||
"prefix": "fdaterange",
|
||||
"body": "${1:FIELDNAME} = DateRangeField()",
|
||||
"description": "DateRangeField (fdaterange).\n\n*PostgreSQL specific form fields*.",
|
||||
"scope": "source.python"
|
||||
},
|
||||
"ffi": {
|
||||
"prefix": "ffi",
|
||||
"body": "from .forms import $1",
|
||||
"description": "",
|
||||
"scope": "source.python"
|
||||
},
|
||||
"iforms": {
|
||||
"prefix": "iforms",
|
||||
"body": "from django import forms",
|
||||
"description": "from ... import forms",
|
||||
"scope": "source.python"
|
||||
},
|
||||
"ipostgresff": {
|
||||
"prefix": "ipostgresff",
|
||||
"body": "from django.contrib.postgres.forms import ${1|SimpleArrayField,SplitArrayField,HStoreField,JSONField,IntegerRangeField,FloatRangeField,DateTimeRangeField,DateRangeField|}",
|
||||
"description": "PostgreSQL specific forms fields",
|
||||
"scope": "source.python"
|
||||
},
|
||||
"clean_data": {
|
||||
"prefix": "clean_data",
|
||||
"body": [
|
||||
"def clean_${1:FIELD}(self):",
|
||||
"\t${1:FIELD} = self.cleaned_data.get('${1:FIELD}')",
|
||||
"\n\n\t # TODO Validation\n",
|
||||
"\treturn ${1:FIELD}"
|
||||
],
|
||||
"description": "",
|
||||
"scope": "source.python"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,377 @@
|
||||
{
|
||||
"Model_full": {
|
||||
"prefix": "Model_full",
|
||||
"body": [
|
||||
"class ${1:MODELNAME}(models.Model):",
|
||||
"\t\"\"\"${2:Model definition for $1}.\"\"\"",
|
||||
"",
|
||||
"\t${3:# TODO: Define fields here}",
|
||||
"",
|
||||
"\tclass Meta:",
|
||||
"\t\t\"\"\"Meta definition for $1.\"\"\"",
|
||||
"",
|
||||
"\t\tverbose_name = '$1'",
|
||||
"\t\tverbose_name_plural = '$1s'",
|
||||
"",
|
||||
"\tdef ${4|__str__,__unicode__|}(self):",
|
||||
"\t\t\"\"\"Unicode representation of $1.\"\"\"",
|
||||
"\t\t${7|pass,return '{}'.format(self. ) # TODO,return f'{self. }' # TODO|}",
|
||||
"",
|
||||
"\tdef save(self):",
|
||||
"\t\t\"\"\"Save method for $1.\"\"\"",
|
||||
"\t\tpass",
|
||||
"",
|
||||
"\tdef get_absolute_url(self):",
|
||||
"\t\t\"\"\"Return absolute url for $1.\"\"\"",
|
||||
"\t\treturn ('')",
|
||||
"",
|
||||
"\t${6:# TODO: Define custom methods here}",
|
||||
""
|
||||
],
|
||||
"description": "Model (full)",
|
||||
"scope": "source.python"
|
||||
},
|
||||
"Model": {
|
||||
"prefix": "Model",
|
||||
"body": [
|
||||
"class ${1:MODELNAME}(models.Model):",
|
||||
"\t\"\"\"${2:Model definition for $1}.\"\"\"",
|
||||
"",
|
||||
"\t${3:# TODO: Define fields here}",
|
||||
"",
|
||||
"\tclass Meta:",
|
||||
"\t\t\"\"\"Meta definition for $1.\"\"\"",
|
||||
"",
|
||||
"\t\tverbose_name = '$1'",
|
||||
"\t\tverbose_name_plural = '$1s'",
|
||||
"",
|
||||
"\tdef ${4|__str__,__unicode__|}(self):",
|
||||
"\t\t\"\"\"Unicode representation of $1.\"\"\"",
|
||||
"\t\t${5|pass,return '{}'.format(self. ) # TODO,return f'{self. }' # TODO|}",
|
||||
""
|
||||
],
|
||||
"description": "Model",
|
||||
"scope": "source.python"
|
||||
},
|
||||
"modelmixin": {
|
||||
"prefix": "modelmixin",
|
||||
"body": [
|
||||
"class $1Mixin(models.Model):",
|
||||
"\t${2:# TODO}\r\n",
|
||||
"\tclass Meta:",
|
||||
"\t\tabstract = True"
|
||||
],
|
||||
"description": "",
|
||||
"scope": "source.python"
|
||||
},
|
||||
"queryset": {
|
||||
"prefix": "qs",
|
||||
"body": ["class $1QuerySet(models.QuerySet):", "\tpass"],
|
||||
"description": "",
|
||||
"scope": "source.python"
|
||||
},
|
||||
"manager": {
|
||||
"prefix": "mngr",
|
||||
"body": [
|
||||
"class $1Manager(models.Manager):",
|
||||
"\tdef get_queryset(self):",
|
||||
"\t\treturn super ($1Manager, self).get_queryset().${2|filter,exclude,order_by,distinct,reverse|}($3)"
|
||||
],
|
||||
"description": "Add extra Manager methods",
|
||||
"scope": "source.python"
|
||||
},
|
||||
"queryset_from_manager": {
|
||||
"prefix": "qs_mngr",
|
||||
"body": [
|
||||
"class $1Manager(models.Manager):",
|
||||
"\tdef get_queryset(self):",
|
||||
"\t\treturn $1QuerySet(self.model, using=self._db)"
|
||||
],
|
||||
"description": "Modify the initial QuerySet the Manager returns.",
|
||||
"scope": "source.python"
|
||||
},
|
||||
"mauto": {
|
||||
"prefix": "mauto",
|
||||
"body": "${1:FIELDNAME} = models.AutoField($2)",
|
||||
"description": "AutoField (mauto).\n\nAn IntegerField that automatically increments according to available IDs.\n\n",
|
||||
"scope": "source.python"
|
||||
},
|
||||
"mbigauto": {
|
||||
"prefix": "mbigauto",
|
||||
"body": "${1:FIELDNAME} = models.BigAutoField($2)",
|
||||
"description": "BigAutoField (mbigauto).\n\n[New in Django 1.10.]\n\nA 64-bit integer, much like an AutoField.\n\n",
|
||||
"scope": "source.python"
|
||||
},
|
||||
"mbigint": {
|
||||
"prefix": "mbigint",
|
||||
"body": "${1:FIELDNAME} = models.BigIntegerField($2)",
|
||||
"description": "BigIntegerField (mbigint).\n\nA 64-bit integer, much like an IntegerField.\n\n",
|
||||
"scope": "source.python"
|
||||
},
|
||||
"mbinary": {
|
||||
"prefix": "mbinary",
|
||||
"body": "${1:FIELDNAME} = models.BinaryField($2)",
|
||||
"description": "BinaryField (mbinary).\n\nA field to store raw binary data.\n\n",
|
||||
"scope": "source.python"
|
||||
},
|
||||
"mbool": {
|
||||
"prefix": "mbool",
|
||||
"body": "${1:FIELDNAME} = models.BooleanField($2)",
|
||||
"description": "BooleanField (mbool).\n\nA true/false field.\n\n",
|
||||
"scope": "source.python"
|
||||
},
|
||||
"mchar": {
|
||||
"prefix": "mchar",
|
||||
"body": "${1:FIELDNAME} = models.CharField($2, max_length=${3:50})",
|
||||
"description": "CharField (mchar)",
|
||||
"scope": "source.python"
|
||||
},
|
||||
"mcoseint": {
|
||||
"prefix": "mcoseint",
|
||||
"body": "${1:FIELDNAME} = models.CommaSeparatedIntegerField($2)",
|
||||
"description": "CommaSeparatedIntegerField (mcoseint).\n\nThis field is deprecated since 1.9 in favor of CharField with validators.\n\n",
|
||||
"scope": "source.python"
|
||||
},
|
||||
"mdate": {
|
||||
"prefix": "mdate",
|
||||
"body": "${1:FIELDNAME} = models.DateField($2, auto_now=${3:False}, auto_now_add=${4:False})",
|
||||
"description": "DateField (mdate).\n\nA date, represented in Python by a datetime.date instance.\n\n",
|
||||
"scope": "source.python"
|
||||
},
|
||||
"mdatetime": {
|
||||
"prefix": "mdatetime",
|
||||
"body": "${1:FIELDNAME} = models.DateTimeField($2, auto_now=${3:False}, auto_now_add=${4:False})",
|
||||
"description": "DateTimeField (mdatetime).\n\nA date, represented in Python by a datetime.datetime instance.\n\n",
|
||||
"scope": "source.python"
|
||||
},
|
||||
"mdecimal": {
|
||||
"prefix": "mdecimal",
|
||||
"body": "${1:FIELDNAME} = models.DecimalField($2, max_digits=${3:5}, decimal_places=${4:2})",
|
||||
"description": "DecimalField (mdecimal).\n\nA fixed-precision decimal number, represented in Python by a Decimal instance.\n\n",
|
||||
"scope": "source.python"
|
||||
},
|
||||
"mduration": {
|
||||
"prefix": "mduration",
|
||||
"body": "${1:FIELDNAME} = models.DurationField($2)",
|
||||
"description": "DurationField (mduration).\n\nA field for storing periods of time - modeled in Python by timedelta.\n\n",
|
||||
"scope": "source.python"
|
||||
},
|
||||
"memail": {
|
||||
"prefix": "memail",
|
||||
"body": "${1:FIELDNAME} = models.EmailField($2, max_length=${3:254})",
|
||||
"description": "EmailField (memail).\n\nA CharField that checks that the value is a valid email address.\n\n",
|
||||
"scope": "source.python"
|
||||
},
|
||||
"mfile": {
|
||||
"prefix": "mfile",
|
||||
"body": "${1:FIELDNAME} = models.FileField($2, upload_to=${3:None}, max_length=${4:100})",
|
||||
"description": "FileField (mfile).\n\nA file-upload field.\n\n",
|
||||
"scope": "source.python"
|
||||
},
|
||||
"mfilepath": {
|
||||
"prefix": "mfilepath",
|
||||
"body": "${1:FIELDNAME} = models.FilePathField($2, path=${3:None}, match=${4:None}, recursive=${5:recursive}, max_length=${6:100})",
|
||||
"description": "FilePathField (mfilepath).\n\nA CharField whose choices are limited to the filenames in a certain directory on the filesystem.\n\n",
|
||||
"scope": "source.python"
|
||||
},
|
||||
"mfloat": {
|
||||
"prefix": "mfloat",
|
||||
"body": "${1:FIELDNAME} = models.FloatField($2)",
|
||||
"description": "FloatField (mfloat).\n\nA floating-point number represented in Python by a float instance.\n\n",
|
||||
"scope": "source.python"
|
||||
},
|
||||
"fk": {
|
||||
"prefix": "fk",
|
||||
"body": "${1:FIELDNAME} = models.ForeignKey(${2:OTHERMODEL}, on_delete=models.${3|CASCADE,PROTECT,SET_NULL,SET_DEFAULT,SET(),DO_NOTHING|})",
|
||||
"description": "ForeignKey (fk).\n\nA many-to-one relationship.\n\non_delete will become a required argument in Django 2.0. In older versions it defaults to CASCADE.\n\n",
|
||||
"scope": "source.python"
|
||||
},
|
||||
"mip": {
|
||||
"prefix": "mip",
|
||||
"body": "${1:FIELDNAME} = models.IPAddressField($2)",
|
||||
"description": "IPAddressField (mip).\n\nThis field has been deprecated since version 1.7 in favor of GenericIPAddressField.\n\n",
|
||||
"scope": "source.python"
|
||||
},
|
||||
"mimg": {
|
||||
"prefix": "mimg",
|
||||
"body": "${1:FIELDNAME} = models.ImageField($2, upload_to=${3:None}, height_field=${4:None}, width_field=${5:None}, max_length=${5:100})",
|
||||
"description": "ImageField (mimg).\n\nInherits all attributes and methods from FileField, but also validates that the uploaded object is a valid image.\n\n",
|
||||
"scope": "source.python"
|
||||
},
|
||||
"mint": {
|
||||
"prefix": "mint",
|
||||
"body": "${1:FIELDNAME} = models.IntegerField($2)",
|
||||
"description": "IntegerField (mint).\n\nAn integer. Values from -2147483648 to 2147483647 are safe in all databases supported by Django.\n\n",
|
||||
"scope": "source.python"
|
||||
},
|
||||
"mgenericip": {
|
||||
"prefix": "mgenericip",
|
||||
"body": "${1:FIELDNAME} = models.GenericIPAddressField($2, protocol=${3:'both'}, unpack_ipv4=${4:False})",
|
||||
"description": "GenericIPAddressField (mimg).\n\nAn IPv4 or IPv6 address, in string format.\n\n",
|
||||
"scope": "source.python"
|
||||
},
|
||||
"m2m": {
|
||||
"prefix": "m2m",
|
||||
"body": "${1:FIELDNAME} = models.ManyToManyField(${2:OTHERMODEL})",
|
||||
"description": "ManyToManyField (m2m).\n\nA many-to-many relationship.\n\n",
|
||||
"scope": "source.python"
|
||||
},
|
||||
"mnullbool": {
|
||||
"prefix": "mnullbool",
|
||||
"body": "${1:FIELDNAME} = models.NullBooleanField($2)",
|
||||
"description": "NullBooleanField (mnullbool).\n\nLike a BooleanField, but allows NULL as one of the options.\n\n",
|
||||
"scope": "source.python"
|
||||
},
|
||||
"o2o": {
|
||||
"prefix": "o2o",
|
||||
"body": "${1:FIELDNAME} = models.OneToOneField(${2:OTHERMODEL}, on_delete=models.${3|CASCADE,PROTECT,SET_NULL,SET_DEFAULT,SET(),DO_NOTHING|})",
|
||||
"description": "OneToOneField (o2o).\n\nA one-to-one relationship.\n\non_delete will become a required argument in Django 2.0. In older versions it defaults to CASCADE.\n\n",
|
||||
"scope": "source.python"
|
||||
},
|
||||
"mphone": {
|
||||
"prefix": "mphone",
|
||||
"body": "${1:FIELDNAME} = models.PhoneNumberField($2)",
|
||||
"description": "PhoneNumberField (mphone).\n\n*external package: django-phonenumber-field*\n\n",
|
||||
"scope": "source.python"
|
||||
},
|
||||
"mposint": {
|
||||
"prefix": "mposint",
|
||||
"body": "${1:FIELDNAME} = models.PositiveIntegerField($2)",
|
||||
"description": "PositiveIntegerField (mposint).\n\nLike an IntegerField, but must be either positive or zero (0).\n\n",
|
||||
"scope": "source.python"
|
||||
},
|
||||
"mpossmallint": {
|
||||
"prefix": "mpossmallint",
|
||||
"body": "${1:FIELDNAME} = models.PositiveSmallIntegerField($2)",
|
||||
"description": "PositiveSmallIntegerField (mpossmallint).\n\nLike a PositiveIntegerField, but only allows values under a certain (database-dependent) point.\n\n",
|
||||
"scope": "source.python"
|
||||
},
|
||||
"mslug": {
|
||||
"prefix": "mslug",
|
||||
"body": "${1:FIELDNAME} = models.SlugField($2)",
|
||||
"description": "SlugField (mslug).\n\nA slug is a short label for something, containing only letters, numbers, underscores or hyphens. They’re generally used in URLs.\n\n",
|
||||
"scope": "source.python"
|
||||
},
|
||||
"msmallint": {
|
||||
"prefix": "msmallint",
|
||||
"body": "${1:FIELDNAME} = models.SmallIntegerField($2)",
|
||||
"description": "SmallIntegerField (msmallint).\n\nLike an IntegerField, but only allows values under a certain (database-dependent) point.\n\n",
|
||||
"scope": "source.python"
|
||||
},
|
||||
"mtext": {
|
||||
"prefix": "mtext",
|
||||
"body": "${1:FIELDNAME} = models.TextField($2)",
|
||||
"description": "TextField (mtext).\n\nA large text field.\n\n",
|
||||
"scope": "source.python"
|
||||
},
|
||||
"mtime": {
|
||||
"prefix": "mtime",
|
||||
"body": "${1:FIELDNAME} = models.TimeField($2, auto_now=${4:False}, auto_now_add=${5:False})",
|
||||
"description": "TimeField (mtime).\n\nA time, represented in Python by a datetime.time instance.\n\n",
|
||||
"scope": "source.python"
|
||||
},
|
||||
"murl": {
|
||||
"prefix": "murl",
|
||||
"body": "${1:FIELDNAME} = models.URLField($2, max_length=${3:200})",
|
||||
"description": "URLField (murl).\n\nA CharField for a URL.\n\n",
|
||||
"scope": "source.python"
|
||||
},
|
||||
"musstate": {
|
||||
"prefix": "musstate",
|
||||
"body": "${1:FIELDNAME} = models.USStateField($2)",
|
||||
"description": "USStateField (musstate).\n\n*external package: django-localflavor*\n\n",
|
||||
"scope": "source.python"
|
||||
},
|
||||
"muuid": {
|
||||
"prefix": "muuid",
|
||||
"body": "${1:FIELDNAME} = models.UUIDField($2)",
|
||||
"description": "UUIDField (muuid).\n\nA field for storing universally unique identifiers. Uses Python’s UUID class.\n\n",
|
||||
"scope": "source.python"
|
||||
},
|
||||
"mxml": {
|
||||
"prefix": "mxml",
|
||||
"body": "${1:FIELDNAME} = models.XMLField($2)",
|
||||
"description": "XMLField (mxml).\n\n*All uses of XMLField can be replaced with TextField. This field has been deprecated since version 1.3*\n\n",
|
||||
"scope": "source.python"
|
||||
},
|
||||
"mstore": {
|
||||
"prefix": "mstore",
|
||||
"body": "${1:FIELDNAME} = HStoreField()",
|
||||
"description": "HStoreField (mstore).\n\n*PostgreSQL specific model fields*.\n\nA field for storing key-value pairs. The Python data type used is a dict.\n\n",
|
||||
"scope": "source.python"
|
||||
},
|
||||
"mjson": {
|
||||
"prefix": "mjson",
|
||||
"body": "${1:FIELDNAME} = JSONField()",
|
||||
"description": "JSONField (mjson).\n\n*PostgreSQL specific model fields*.\n\n[New in Django 1.11.]\n\nA field for storing JSON encoded data.\n\n",
|
||||
"scope": "source.python"
|
||||
},
|
||||
"marray": {
|
||||
"prefix": "marray",
|
||||
"body": "${1:FIELDNAME} = ArrayField()",
|
||||
"description": "ArrayField (marray).\n\n*PostgreSQL specific model fields*.\n\nA field for storing lists of data\n\n",
|
||||
"scope": "source.python"
|
||||
},
|
||||
"fmai": {
|
||||
"prefix": "fmai",
|
||||
"body": "from .managers import $1QuerySet",
|
||||
"description": "",
|
||||
"scope": "source.python"
|
||||
},
|
||||
"fmi": {
|
||||
"prefix": "fmi",
|
||||
"body": "from .models import $1",
|
||||
"description": "",
|
||||
"scope": "source.python"
|
||||
},
|
||||
"imodels": {
|
||||
"prefix": "imodels",
|
||||
"body": "from django.db import models",
|
||||
"description": "from ... import models",
|
||||
"scope": "source.python"
|
||||
},
|
||||
"ipy2_unicode_compatible": {
|
||||
"prefix": "iuc",
|
||||
"body": "from django.utils.encoding import python_2_unicode_compatible",
|
||||
"description": "For forwards compatibility, this decorator is available as of Django 1.4.2.",
|
||||
"scope": "source.python"
|
||||
},
|
||||
"ipostgresmf": {
|
||||
"prefix": "ipostgresmf",
|
||||
"body": "from django.contrib.postgres.fields import ${1|ArrayField,JSONField,HStoreField|}",
|
||||
"description": "PostgreSQL specific model fields",
|
||||
"scope": "source.python"
|
||||
},
|
||||
"isignals": {
|
||||
"prefix": "isignals",
|
||||
"body": "from django.db.models.signals import ${1|pre_init,post_init,pre_save,post_save,pre_delete,post_delete,m2m_changed,class_prepared,Management signals,pre_migrate,post_migrate|}",
|
||||
"description": "Signals for Django Model",
|
||||
"scope": "source.python"
|
||||
},
|
||||
"__str__": {
|
||||
"prefix": "str",
|
||||
"body": ["def __str__(self):", "\treturn self${1: # TODO}"],
|
||||
"description": "",
|
||||
"scope": "source.python"
|
||||
},
|
||||
"get_absolute_url": {
|
||||
"prefix": "get_absolute_url",
|
||||
"body": [
|
||||
"def get_absolute_url(self):",
|
||||
"\tfrom django.core.urlresolvers import reverse",
|
||||
"\treturn reverse('$1', kwargs={'pk': self.pk})"
|
||||
],
|
||||
"description": "",
|
||||
"scope": "source.python"
|
||||
},
|
||||
"receiver": {
|
||||
"prefix": "receiver",
|
||||
"body": [
|
||||
"def ${1:FUNCTIONNAME}_${2|pre_init,post_init,pre_save,post_save,pre_delete,post_delete,m2m_changed,class_prepared,Management signals,pre_migrate,post_migrate|}_receiver(sender, instance, *args, **kwargs):",
|
||||
"\tpass",
|
||||
"\n\n${2|pre_init,post_init,pre_save,post_save,pre_delete,post_delete,m2m_changed,class_prepared,Management signals,pre_migrate,post_migrate|}.connect(${1:name}_${2|pre_init,post_init,pre_save,post_save,pre_delete,post_delete,m2m_changed,class_prepared,Management signals,pre_migrate,post_migrate|}_receiver, sender=${3:MODELNAME})"
|
||||
],
|
||||
"description": "",
|
||||
"scope": "source.python"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,69 @@
|
||||
{
|
||||
"ilib": {
|
||||
"prefix": "ilib",
|
||||
"body": ["from django import template", "register = template.Library()"],
|
||||
"description": "",
|
||||
"scope": "source.python"
|
||||
},
|
||||
"li18n": {
|
||||
"prefix": "li18n",
|
||||
"body": "{% load i18n %}",
|
||||
"description": "",
|
||||
"scope": "text.html.django"
|
||||
},
|
||||
"lstatic": {
|
||||
"prefix": "lstatic",
|
||||
"body": "{% load staticfiles %}",
|
||||
"description": "",
|
||||
"scope": "text.html.django"
|
||||
},
|
||||
"ltags": {
|
||||
"prefix": "ltags",
|
||||
"body": "{% load $SELECTION$1_tags %}",
|
||||
"description": "",
|
||||
"scope": "text.html.django"
|
||||
},
|
||||
"register_assignment_tag": {
|
||||
"prefix": "register_assignment_tag",
|
||||
"body": [
|
||||
"def get_$1(context):",
|
||||
"\trequest = context.get('request')",
|
||||
"\t$1 = ${2:[]}",
|
||||
"\treturn ${3:$1}"
|
||||
],
|
||||
"description": "",
|
||||
"scope": "source.python"
|
||||
},
|
||||
"register_filter": {
|
||||
"prefix": "register_filter",
|
||||
"body": ["@register.filter", "def $1(value):", "\treturn value$2"],
|
||||
"description": "",
|
||||
"scope": "source.python"
|
||||
},
|
||||
"register_inclusion_tag": {
|
||||
"prefix": "register_inclusion_tag",
|
||||
"body": [
|
||||
"@register.inclusion_tag(${2:'$1.html'}, takes_context=True)",
|
||||
"def $1(context):",
|
||||
"\trequest = context.get('request')",
|
||||
"\t$3",
|
||||
"\treturn {",
|
||||
"\t\t'request': request,",
|
||||
"\t\t$4",
|
||||
"\t}"
|
||||
],
|
||||
"description": "",
|
||||
"scope": "source.python"
|
||||
},
|
||||
"register_simple_tag": {
|
||||
"prefix": "register_simple_tag",
|
||||
"body": [
|
||||
"@register.simple_tag(takes_context=True)",
|
||||
"def $1(context):",
|
||||
"\trequest = context.get('request')",
|
||||
"\treturn ${2:'It Works!'}"
|
||||
],
|
||||
"description": "",
|
||||
"scope": "source.python"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,94 @@
|
||||
{
|
||||
"urlresolvers": {
|
||||
"prefix": "iurlresolvers",
|
||||
"body": "from django.core.urlresolvers import ${1|reverse,reverse_lazy,resolve,get_script_prefix|}",
|
||||
"description": "*Deprecated since version 1.10*\n\nUtility functions.\n\n",
|
||||
"scope": "source.python"
|
||||
},
|
||||
"urls (≥1.10 & ≤1.11)": {
|
||||
"prefix": "iurls",
|
||||
"body": "from django.urls import ${1|reverse,reverse_lazy,resolve,get_script_prefix|}",
|
||||
"description": "Utility functions for use in URLconfs.",
|
||||
"scope": "source.python"
|
||||
},
|
||||
"conf.urls (≤1.11)": {
|
||||
"prefix": "iconf_urls",
|
||||
"body": "from django.conf.urls import ${1|static,url,include,handler400,handler403,handler404,handler500|}",
|
||||
"description": "Utility functions for use in URLconfs.",
|
||||
"scope": "source.python"
|
||||
},
|
||||
"urls (≥2.0)": {
|
||||
"prefix": "iurls",
|
||||
"body": "from django.urls import ${1|path,re_path,include,reverse,reverse_lazy,register_converter|}",
|
||||
"description": "Utility functions for use in URLconfs.",
|
||||
"scope": "source.python"
|
||||
},
|
||||
"conf.urls (≥2.0)": {
|
||||
"prefix": "iconf_urls",
|
||||
"body": "from django.conf.urls import ${1|static,url,handler400,handler403,handler404,handler500|}",
|
||||
"description": "Utilityfunctions for use in URLconfs.",
|
||||
"scope": "source.python"
|
||||
},
|
||||
"url_stack": {
|
||||
"prefix": "url_stack",
|
||||
"body": [
|
||||
"${1|url,re_path|}(",
|
||||
"\tr'^${2:REGEX}/$',",
|
||||
"\t${3:VIEW}${4:.as_view()},",
|
||||
"\tname='$5'",
|
||||
"),"
|
||||
],
|
||||
"description": "url(regex, view, kwargs=None, name=None)\n\n*url is an alias to re_path*\n\n",
|
||||
"scope": "source.python"
|
||||
},
|
||||
"url_inline": {
|
||||
"prefix": "url_inline",
|
||||
"body": [
|
||||
"${1|url,re_path|}(r'^${2:REGEX}/$', ${3:VIEW}${4:.as_view()}, name='$5'),"
|
||||
],
|
||||
"description": "url(regex, view, kwargs=None, name=None)\n\n*url is an alias to re_path*\n\n",
|
||||
"scope": "source.python"
|
||||
},
|
||||
"path_stack": {
|
||||
"prefix": "path_stack",
|
||||
"body": [
|
||||
"path(",
|
||||
"\t'${1:ROUTE}/',",
|
||||
"\t${2:VIEW}${3:.as_view()},",
|
||||
"\tname='$4'",
|
||||
"),"
|
||||
],
|
||||
"description": "path(route, view, kwargs=None, name=None)",
|
||||
"scope": "source.python"
|
||||
},
|
||||
"path_inline": {
|
||||
"prefix": "path_inline",
|
||||
"body": ["path('${1:ROUTE}/', ${2:VIEW}${3:.as_view()}, name='$4'),"],
|
||||
"description": "path(route, view, kwargs=None, name=None)",
|
||||
"scope": "source.python"
|
||||
},
|
||||
"urlpatterns": {
|
||||
"prefix": "urlpatterns",
|
||||
"body": ["urlpatterns = [", "\t$0", "]"],
|
||||
"description": "",
|
||||
"scope": "source.python"
|
||||
},
|
||||
"repk": {
|
||||
"prefix": "repk",
|
||||
"body": "r'^(?P<${1:pk}>d+)/$'",
|
||||
"description": "PK URL regex",
|
||||
"scope": "source.python"
|
||||
},
|
||||
"reslug": {
|
||||
"prefix": "reslug",
|
||||
"body": "r'^(?P<${1:slug}>[-w]+)/$'",
|
||||
"description": "Slug URL regex",
|
||||
"scope": "source.python"
|
||||
},
|
||||
"reusername": {
|
||||
"prefix": "reusername",
|
||||
"body": "r'^(?P<username>[w.@+-]+)/$'",
|
||||
"description": "Username regex",
|
||||
"scope": "source.python"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,85 @@
|
||||
{
|
||||
"createview": {
|
||||
"prefix": "createview",
|
||||
"body": "\r\nclass ${1:MODEL_NAME}CreateView(CreateView):\r\n model = ${1:MODEL_NAME}\r\n template_name = \"${2:TEMPLATE_NAME}\"\r\n",
|
||||
"description": "",
|
||||
"scope": "source.python"
|
||||
},
|
||||
"deleteview": {
|
||||
"prefix": "deleteview",
|
||||
"body": "\r\nclass ${1:MODEL_NAME}DeleteView(DeleteView):\r\n model = ${1:MODEL_NAME}\r\n template_name = \"${2:TEMPLATE_NAME}\"\r\n",
|
||||
"description": "",
|
||||
"scope": "source.python"
|
||||
},
|
||||
"detailview": {
|
||||
"prefix": "detailview",
|
||||
"body": "\r\nclass ${1:MODEL_NAME}DetailView(DetailView):\r\n model = ${1:MODEL_NAME}\r\n template_name = \"${2:TEMPLATE_NAME}\"\r\n",
|
||||
"description": "",
|
||||
"scope": "source.python"
|
||||
},
|
||||
"listview": {
|
||||
"prefix": "listview",
|
||||
"body": "\r\nclass ${1:MODEL_NAME}ListView(ListView):\r\n model = ${1:MODEL_NAME}\r\n template_name = \"${2:TEMPLATE_NAME}\"\r\n",
|
||||
"description": "",
|
||||
"scope": "source.python"
|
||||
},
|
||||
"templateview": {
|
||||
"prefix": "templateview",
|
||||
"body": "\r\nclass ${1:CLASS_NAME}(TemplateView):\r\n template_name = \"${2:TEMPLATE_NAME}\"\r\n",
|
||||
"description": "",
|
||||
"scope": "source.python"
|
||||
},
|
||||
"updateview": {
|
||||
"prefix": "updateview",
|
||||
"body": "\r\nclass ${1:MODEL_NAME}UpdateView(UpdateView):\r\n model = ${1:MODEL_NAME}\r\n template_name = \"${2:TEMPLATE_NAME}\"\r\n",
|
||||
"description": "",
|
||||
"scope": "source.python"
|
||||
},
|
||||
"from views import": {
|
||||
"prefix": "fvi",
|
||||
"body": "from .views import $1",
|
||||
"description": "",
|
||||
"scope": "source.python"
|
||||
},
|
||||
"igenericviews": {
|
||||
"prefix": "igenericviews",
|
||||
"body": "from django.views.generic import ${1|CreateView,DetailView,FormView,ListView,TemplateView,UpdateView|}",
|
||||
"description": "Generic class-based views",
|
||||
"scope": "source.python"
|
||||
},
|
||||
"isettings": {
|
||||
"prefix": "isettings",
|
||||
"body": "from django.conf import settings",
|
||||
"description": "from django.conf import settings",
|
||||
"scope": "source.python"
|
||||
},
|
||||
"view": {
|
||||
"prefix": "view",
|
||||
"body": "def ${1:VIEWNAME}(request):",
|
||||
"description": "View",
|
||||
"scope": "source.python"
|
||||
},
|
||||
"dispatch": {
|
||||
"prefix": "dispatch",
|
||||
"body": "\r\ndef dispatch(self, request, *args, **kwargs):\r\n return super(${1:CLASS_NAME}, self).dispatch(request, *args, **kwargs)\r\n",
|
||||
"description": "",
|
||||
"scope": "source.python"
|
||||
},
|
||||
"context": {
|
||||
"prefix": "get_context_data",
|
||||
"body": "\r\ndef get_context_data(self, **kwargs):\r\n context = super(${1:CLASS_NAME}, self).get_context_data(**kwargs)\r\n return context\r\n",
|
||||
"description": "",
|
||||
"scope": "source.python"
|
||||
},
|
||||
"get_queryset": {
|
||||
"prefix": "get_queryset",
|
||||
"body": [
|
||||
"def get_queryset(self):",
|
||||
"\tqueryset = super(${1:CLASS_NAME}, self).get_queryset()",
|
||||
"\tqueryset = queryset${3: # TODO}",
|
||||
"\treturn queryset"
|
||||
],
|
||||
"description": "",
|
||||
"scope": "source.python"
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user