2017-04-19 2 views
0

Also ich versuche, diesen Code in meiner Ansicht zu öffnen und Druckdaten aus dieser JSON-Datei mit:Attribute Typ Objekt hat kein Attribut

from django.shortcuts import render 
import json 

class OnlicarView(): 
    import json 
    from pprint import pprint 

    with open('C:/Python34/Scripts/onlicar/mytest/onlicar/static/json/vehicles.json') as data_file: 
     data = json.load(data_file) 

    pprint(data) 

Hier sind meine App-URL:

from django.conf.urls import url 
from onlicar import views 

urlpatterns = [ 
    url(r'^onlicar/$', views.OnlicarView.as_view(), name='onlicar_signup' 
     ) 
] 

Hier ist meine Root-URL:

from django.conf.urls import url, include 
from django.contrib import admin 

urlpatterns = [ 
    url(r'^admin/', admin.site.urls), 
    url(r'^onlicar/', include('onlicar.urls')) 

Ich habe Probleme mit der App URL. Ich bekomme einen Fehler, der besagt, dass ein Attributfehler vorliegt und ich weiß nicht, wie ich ihn beheben kann.

Da ich die Daten aus einer JSON-Datei bekomme, ist momentan nichts in meinen Modellen. Soll ich etwas in den Modellen haben?

Meine JSON-Datei wird jetzt gedruckt, aber wie rendere ich sie stattdessen in HTML? Hier

ist der Fehler:

Unhandled exception in thread started by <function check_errors.<locals>. 
at 0x03F9C4B0> 
Traceback (most recent call last): 
    File "C:\Python34\Scripts\onlicar\lib\site-packages\django\utils\autore 
", line 226, in wrapper 
    fn(*args, **kwargs) 
    File "C:\Python34\Scripts\onlicar\lib\site-packages\django\core\managem 
mands\runserver.py", line 121, in inner_run 
    self.check(display_num_errors=True) 
    File "C:\Python34\Scripts\onlicar\lib\site-packages\django\core\managem 
e.py", line 374, in check 
    include_deployment_checks=include_deployment_checks, 
    File "C:\Python34\Scripts\onlicar\lib\site-packages\django\core\managem 
e.py", line 361, in _run_checks 
    return checks.run_checks(**kwargs) 
    File "C:\Python34\Scripts\onlicar\lib\site-packages\django\core\checks\ 
y.py", line 81, in run_checks 
    new_errors = check(app_configs=app_configs) 
    File "C:\Python34\Scripts\onlicar\lib\site-packages\django\core\checks\ 
", line 14, in check_url_config 
    return check_resolver(resolver) 
    File "C:\Python34\Scripts\onlicar\lib\site-packages\django\core\checks\ 
", line 24, in check_resolver 
    for pattern in resolver.url_patterns: 
    File "C:\Python34\Scripts\onlicar\lib\site-packages\django\utils\functi 
", line 35, in __get__ 
    res = instance.__dict__[self.name] = self.func(instance) 
    File "C:\Python34\Scripts\onlicar\lib\site-packages\django\urls\resolve 
line 313, in url_patterns 
    patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_m 
    File "C:\Python34\Scripts\onlicar\lib\site-packages\django\utils\functi 
", line 35, in __get__ 
    res = instance.__dict__[self.name] = self.func(instance) 
    File "C:\Python34\Scripts\onlicar\lib\site-packages\django\urls\resolve 
line 306, in urlconf_module 
    return import_module(self.urlconf_name) 
    File "C:\Python34\Scripts\onlicar\lib\importlib\__init__.py", line 109, 
ort_module 
    return _bootstrap._gcd_import(name[level:], package, level) 
    File "<frozen importlib._bootstrap>", line 2254, in _gcd_import 
    File "<frozen importlib._bootstrap>", line 2237, in _find_and_load 
    File "<frozen importlib._bootstrap>", line 2226, in _find_and_load_unlo 
    File "<frozen importlib._bootstrap>", line 1200, in _load_unlocked 
    File "<frozen importlib._bootstrap>", line 1129, in _exec 
    File "<frozen importlib._bootstrap>", line 1471, in exec_module 
    File "<frozen importlib._bootstrap>", line 321, in _call_with_frames_re 
    File "C:\Python34\Scripts\onlicar\mytest\mytest\urls.py", line 21, in < 

    url(r'^onlicar/', include('onlicar.urls')) 
    File "C:\Python34\Scripts\onlicar\lib\site-packages\django\conf\urls\__ 
py", line 50, in include 
    urlconf_module = import_module(urlconf_module) 
    File "C:\Python34\Scripts\onlicar\lib\importlib\__init__.py", line 109, 
ort_module 
    return _bootstrap._gcd_import(name[level:], package, level) 
    File "<frozen importlib._bootstrap>", line 2254, in _gcd_import 
    File "<frozen importlib._bootstrap>", line 2237, in _find_and_load 
    File "<frozen importlib._bootstrap>", line 2226, in _find_and_load_unlo 
    File "<frozen importlib._bootstrap>", line 1200, in _load_unlocked 
    File "<frozen importlib._bootstrap>", line 1129, in _exec 
    File "<frozen importlib._bootstrap>", line 1471, in exec_module 
    File "<frozen importlib._bootstrap>", line 321, in _call_with_frames_re 
    File "C:\Python34\Scripts\onlicar\mytest\onlicar\urls.py", line 5, in < 

    url(r'^onlicar/$', views.OnlicarView.as_view(), name='onlicar_signup' 
AttributeError: type object 'OnlicarView' has no attribute 'as_view' 
+0

können Sie den vollständigen Fehler anzeigen .. ?? – shiva

Antwort

0

Es gibt eine Menge Dinge falsch mit diesem Code.

Zunächst haben Sie dies als Klasse deklariert und in der URL so verwendet, als ob es sich um eine klassenbasierte Sicht handelt. Sie übernehmen jedoch keine tatsächliche Ansichtsklasse.

Genauso ernst, in einer Klasse setzen Sie nicht Code auf Klassenebene; es muss in eine Methode gehen.

Außerdem wird pprint nur auf der Konsole drucken, es wird nichts im Browser des Benutzers anzeigen; Sie müssen eine Antwort erstellen und diese zurückgeben.

+0

Wie zeige ich es bitte dem Browser an? –

+1

Das ist eine zu weite Frage zu beantworten. Gehen Sie zuerst zurück und lesen Sie die Dokumentation zum Schreiben von Ansichten und beheben Sie die Probleme, die ich erwähnt habe. –

Verwandte Themen