Search code examples
pythondjangogithubpythonanywhere

Django Loop doesn't work at Pythonanywhere


I deployed my django app on Pythonanywhere with Git clone. It has a navbar.html template so I add category loop on there, when I run my code on my pc It works correctly but If I deploy same code to Pythonanywhere with SQLite3 It doesn't work.

Pythonanywhere View Localhost view

view.py:

def index(request):
    products = Product.objects.filter()
    catloops = Category.objects.filter()
    context = {
        "products":products,
        "catloops":catloops
    }
    return render(request,"index.html", context)

models.py:

class Category(models.Model):
   category_name = models.CharField(max_length = 50, verbose_name="Category Name")
   def __str__(self):
      return self.category_name

urls.py:

urlpatterns = [
    path('admin/', admin.site.urls),
    path('',views.index, name="index")]

navbar.html:

<li class="nav-item dropdown"><a href="javascript: void(0)" data-toggle="dropdown" class="dropdown-toggle">Categories<b class="caret"></b></a>
                  <ul class="dropdown-menu">

                    {% for category in catloops %}
                    <li class="dropdown-item"><a href="/products" class="nav-link">{{category.category_name}}</a></li>
                    {% endfor %}
                  </ul>              
                </li>

Solution

  • My guess is that there are no categories in your database on PythonAnywhere.