1

I am trying to teach myself Python and Django and so far I am doing ok but I have hit a snag. I have been following the Django MVA as well as using the "Hello Web App" book and searching the web for help when needed but I can't seem to get past this one so here goes...

I set up a very simple web app with Django with only one table and one model. I was able to set up the admin module and I can view and manipulate the data in my database in the admin view and the shell but when I launch the site my view doesn't seem to be finding any of the data.

My Views.py

from django.shortcuts import render, render_to_response
from django.http import HttpRequest, HttpResponse
from django.template import RequestContext
from datetime import datetime
from app.models import Order
from app.models import *;



def MMIR(request):
    order_list = Order.objects.all();
    return render(request, 'app/MMIR.html',{'oder_list':order_list});

My template: MMIR.html

{% extends "app/layout.html" %}
{% block content %}

<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta charset="utf-8" />
    <title>MMIRs</title>
</head>
<body>
    <h2>MMIRs</h2>
        <ul>
           {% for order in order_list %}
               <li>{{order.MMIR}}</li>
            {%empty%}
                <li>Sorry there are no orders to display</li>
           {% endfor %}
         </ul>

</body>
</html>
{% endblock %}  

My database connection string in settings.py:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.sqlite3',
        'NAME': 'C:/Users/USER/Documents/Visual Studio  2015/Projects/DjangoWebProject2/DjangoWebProject2/db.sqlite3',  

And my models.py:

from django.db import models

# Create your models here.

class Order(models.Model):
    MMIR = models.CharField(max_length=10)
    AWB = models.CharField(max_length=25)
    Shipper = models.CharField(max_length=20)
    Vendor = models.CharField(max_length=25)
    order_type = models.CharField(max_length=25) 

When I go to the MMIR page I always get the "sorry there are no orders to display" message when I know there are orders in the database. I have looked everywhere I can think of but I can't seem to figure out what I have done wrong. Can anyone point me in the right direction?

Thanks Max

1 Answer 1

2

Look for the typo here:

return render(request, 'app/MMIR.html',{'oder_list':order_list});

change that to

return render(request, 'app/MMIR.html',{'order_list':order_list});

and I suspect you'll be in good shape.

Sign up to request clarification or add additional context in comments.

1 Comment

Thanks so much! I guess I couldn't see the forest for the trees. I have been staring at this for days and never saw that lol

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.