django

2016-03-27 16 views
1

ile sekme nav önyükleme için döngü etiketini kullanıyorum for döngüsü etiketini kullanmayla ilgili bir sorunum var, Sekmeler için iyi, ancak sekme içeriğinde kimlik için başvuru kaynağı, anlık değere erişemediğim için sorun Ben uzmanlık ilgili dersler göstermek için nav hapları sekmeleri ile benim url,django

category_page.html özelleştirebilirsiniz Nasıl {{spec}} ve şimdi

<!-- This is tabs with for loop for data in specializations worked well--> 
    <div class="row" > 
       <div class="list-group col-md-4" role="navigation"> 
        {% for specs in spec %} 
         <button type="button" class="list-group-item" data-toggle="tab" href="{{ specs }}">{{ specs }}</button> 

        {% endfor %} 
       </div> 
<!-- Here is the tab content and it doesn't work well as I need data appears related to the tab itself --> 
       <div class="col-md-8"> 
        <div class="tab-content "> 
         {% for specs in spec %} 
        <div id="{{ specs }}" class="tab-pane fade "> 
          <div class="row"> 
           {% for instances in courses_spec %} 
            <div class="col-sm-6 col-md-6"> 
              <div class="caption"> 
              <h3>{{ instances.name }}</h3> 
              </div> 
            </div> 

           {% endfor %} 


        </div> 
       </div> 

views.py

def categories_pages(request, category_name, speci_name=None): 
    courses = Course_dir.objects.filter(
     availability=True, 
     id_CO__id_S__name=category_name 
    ).order_by('date') 

    courses_spec = Course_dir.objects.filter(
     availability=True, 
     id_CO__name=speci_name 
    ).order_by('date') 

    spec = Specialization.objects.filter(
     id_S__name__contains=category_name 
    ).order_by('name') 
    context = { 
     "courses": courses, 
     "spec": spec, 
     "courses_spec": courses_spec 
    } 
    return render(request, 'categories/categories-page.html', context) 

URL'ler. py

url(r'^categories/(?P<category_name>[-\w]+)/$', views.categories_pages, name='category_detail'), 
url(r'^categories/(?P<category_name>[-\w]+)/(?P<speci_name>[-\w]+)$', views.categories_pages, name='specialization_detail'), 

models.py

class Category(models.Model): 
    name = models.CharField(max_length=100) 
    description = models.CharField(max_length=300, blank=True) 
    slug = models.SlugField(default=None) 

def get_absolute_url(self): 
    self.slug = slugify(self.name) 
    return reverse('category_detail', args=[str(self.slug)]) 

class Specialization(models.Model): 
    id_S = models.ForeignKey(Category, on_delete=models.CASCADE) 
    name = models.CharField(max_length=100) 
slug = models.SlugField(default=None) 

def __str__(self): 
    return self.name 

def get_absolute_url(self): 
    self.slug = slugify(self.name) 
    return reverse('spec_detail', args=[str(self.slug)]) 

cevap

0

birkaç nokta - şablon sadece modelin __unicode__ yöntemin dönüş değeri gösterecektir böylece

  1. Bi yere get_absolute_url demiyorsun (eğer Python 2) veya __str__ metodu (eğer Python 3 ise).
  2. for spec in spec numaralı telefonu aramayın, ad alanı kirliliği ve olası hatalar olmaması için ayrı değişkenler kullanın.

    {% for each_spec in spec %} <button type="button" class="list-group-item" data-toggle="tab" href="{{ each_spec.get_absolute_url }}">{{ spec }}</button> {% endfor %}

+0

bunu biliyorum ve bitti, ancak nav hap köprü açmak için ilgili sekmeyi çözemediği, benim sorun benim sorunum değil –