Skip to content

Instantly share code, notes, and snippets.

@gagarine
Last active November 24, 2015 14:01
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save gagarine/6a4055e01a12ce689db8 to your computer and use it in GitHub Desktop.
Save gagarine/6a4055e01a12ce689db8 to your computer and use it in GitHub Desktop.
import datetime
from django.db import models
from django.utils import timezone
from django.core.urlresolvers import reverse
# Create your models here.
class Asset(models.Model):
title_text = models.CharField(max_length=200)
created_at = models.DateTimeField(auto_now_add=True)
updated_at = models.DateTimeField(auto_now=True)
pub_date = models.DateTimeField('date published')
main_image = models.ImageField(upload_to='asset_main_image')
def get_absolute_url(self):
return reverse('app:asset-detail', kwargs={'pk': self.pk})
class AssetImage(models.Model):
asset = models.ForeignKey(Asset,related_name='images')
created_at = models.DateTimeField(auto_now_add=True)
updated_at = models.DateTimeField(auto_now=True)
image = models.ImageField(upload_to='asset_image')
from django.shortcuts import get_object_or_404, render
from django.http import HttpResponseRedirect
from django.core.urlresolvers import reverse
from django.views import generic
from django.core.urlresolvers import reverse_lazy
from .models import Asset
from .models import AssetImage
# Create your views here.
class IndexView(generic.ListView):
template_name = 'asset/asset_list.html'
context_object_name = 'latest_asset_list'
def get_queryset(self):
"""Return the last five published asset."""
return Asset.objects.order_by('-pub_date')[:5]
class Detail(generic.DetailView):
model = Asset
context_object_name = 'asset'
template_name = 'asset/asset_detail.html'
class AssetCreate(generic.CreateView):
model = Asset
template_name = 'asset/asset_create.html'
fields = ['title_text', 'main_image']
class AssetUpdate(generic.UpdateView):
model = Asset
template_name = 'asset/asset_form.html'
fields = ['title_text', 'main_image', 'images']
class AssetDelete(generic.DeleteView):
model = Asset
success_url = reverse_lazy('app:asset-list')
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment