I am trying to use class based views, and get a strange error. The way I'm using the view seems to be the normal way:
ingredients/models.py:
from django.db import models from django.utils import timezone class Ingredient(models.Model): name = models.CharField(max_length=255) description = models.TextField() def get_prices(): purchases = self.purchase_set.all() prices = [purchase.price for purchase in purchases]
ingredients/views.py:
from django.shortcuts import render, render_to_response, redirect from django.http import HttpResponse, HttpResponseRedirect from django.views.generic.edit import CreateView from .models import Ingredient, Purchase def IngredientCreateView(CreateView): model = Ingredient fields = ['all']
ingredients/urls.py:
from django.conf.urls import patterns, include, url from ingredients.views import IngredientCreateView urlpatterns = patterns('', url(r'^new_ingredient$', IngredientCreateView.as_view(), name='new-ingredient'), )
I get
AttributeError at /ingredients/new_ingredient 'function' object has no attribute 'as_view'
I am on django 1.8.5. Why won't this view work? Thank you
IngredientCreateView
should be a class. So your views.py replace:
def IngredientCreateView(CreateView):
with:
class IngredientCreateView(CreateView):
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With