2015-12-11 6 views
6

मैं कक्षा आधारित विचारों का उपयोग करने की कोशिश कर रहा हूं, और एक अजीब त्रुटि प्राप्त कर रहा हूं।'फ़ंक्शन' ऑब्जेक्ट में कोई विशेषता नहीं है 'as_view'

सामग्री/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] 

सामग्री/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'] 

सामग्री/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'), 
) 

मैं

AttributeError at /ingredients/new_ingredient 
'function' object has no attribute 'as_view' 

मैं django 1.8.5 पर हूं। यह दृश्य क्यों काम नहीं करेगा? धन्यवाद

उत्तर

14

IngredientCreateView एक कक्षा होना चाहिए। तो अपने views.py बदल देते हैं:

def IngredientCreateView(CreateView): 

साथ:

class IngredientCreateView(CreateView): 
3

IngredientCreateView एक समारोह, नहीं एक वर्ग है।

निम्न पंक्ति

def IngredientCreateView(CreateView): 

class IngredientCreateView(CreateView): 
+1

साथ जिनकी पहली था idk, लेकिन धन्यवाद की जगह किया जाना चाहिए। पुरानी आदतें मर जाती हैं, कक्षा के दृश्यों में उपयोग किया जाना चाहिए :) – codyc4321

संबंधित मुद्दे

 संबंधित मुद्दे