2017-10-18 8 views
0

私はDjangoを初めて使っています。クラスをいくつか作成しただけで、ビューとURLを作成しました。 URLでそれを使用するオブジェクトの。ここに私のコードです:Django UnboundLocalError at/x/localhostにサーフィンするとき:8000/x

urls.py:

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

urlpatterns = [ 
    #/structures/ 
    url(r'^$', views.index, name='index'), 

    #/structures/712 
    url(r'^(?P<structure_id>[0-9]+)/$', views.detail, name='detail'), 
] 

views.py:

from django.http import HttpResponse 
from .models import Structure 

def index(request): 
    all_structures = Structure.objects.all() 
    html = '' 
    for Structure in all_structures: 
     url = '/structures/' + str(Structure.id) + '/' 
     html += '<a href="' + url + '">' + Structure.name + '</a><br>' 
    return HttpResponse(html) 

def detail(request, structure_id): 
    return HttpResponse("<h2>Details for Structure id " + str(structure_id) + "</h2>") 

models.py:

from django.db import models 

class Structure(models.Model): 
    name = models.CharField(max_length=120) 
    path = models.CharField(max_length=200) 

    def __str__(self): 
     return self.name 

class Type(models.Model): 
    typename = models.CharField(max_length=50) 

    def __str__(self): 
     return self.typename 

class Record(models.Model): 
    structure = models.ForeignKey(Structure, on_delete=models.CASCADE) #each structure has many records, each per line 
    name = models.CharField(max_length=200) 
    type = models.ForeignKey(Type) 
    pos = models.IntegerField() 
    long = models.IntegerField() 

    def __str__(self): 
     return self.name 

そして、ここでは、私が持っエラーです:

1

間違った参照や私のコードの問題は見られません。私も "thenewboston"チュートリアルを見ていて、私はBuckyと全く同じ手順をやっています。それは彼にとってはうまくいくが、私にとってはうまくいかない。

私を助けてくれてありがとう!

+2

for構造in all_structures: 'この変数名は、インポートするクラスと衝突します –

答えて

4

forloopの変数としてクラス名Structureを使用しています。 structureを使用してください。

+0

ありがとうございました!私はそれを完全に逃した! –

関連する問題