Python Forum
Thread Rating:
  • 1 Vote(s) - 5 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Experimenting with Django
#1
I’m working on an introductory Django course on Udemy called, "The Ultimate Beginner's Guide to Django".

I’ve followed the instructor closely. The module I’m currently working on is a pig latin translator. My Django server was running well yesterday.  Today I was experimenting  with my own code trying to add a mile to kilometer calculator.  It crashed and burned.  I have since commented out my custom code and I can’t figure out how to restore the way the code was arranged initially. 

Based on my configuration and errors shown below, can any one identify what is wrong and how to get my Django server to load?  

Is there any other information I can provide to help you help me?

Here is my traceback from my shell:

Error:
$ python manage.py runserver Performing system checks... System check identified no issues (0 silenced). December 29, 2017 - 03:50:36 Django version 2.0, using settings 'first_project_attempt.settings' Starting development server at http://127.0.0.1:8000/ Quit the server with CONTROL-C. Internal Server Error: / Traceback (most recent call last):   File "/home/gnull/Dropbox/TECH/python/2017/django-exp-pig-to-conversion-site/venv/lib/python3.6/site-packages/django/core/handlers/exception.py", line 35, in inner     response = get_response(request)   File "/home/gnull/Dropbox/TECH/python/2017/django-exp-pig-to-conversion-site/venv/lib/python3.6/site-packages/django/core/handlers/base.py", line 128, in _get_response     response = self.process_exception_by_middleware(e, request)   File "/home/gnull/Dropbox/TECH/python/2017/django-exp-pig-to-conversion-site/venv/lib/python3.6/site-packages/django/core/handlers/base.py", line 126, in _get_response     response = wrapped_callback(request, *callback_args, **callback_kwargs)   File "/home/gnull/Dropbox/TECH/python/2017/django-exp-pig-to-conversion-site/first_project_attempt/first_project_attempt/views.py", line 5, in home     return render(request, 'home.html')   File "/home/gnull/Dropbox/TECH/python/2017/django-exp-pig-to-conversion-site/venv/lib/python3.6/site-packages/django/shortcuts.py", line 36, in render     content = loader.render_to_string(template_name, context, request, using=using)   File "/home/gnull/Dropbox/TECH/python/2017/django-exp-pig-to-conversion-site/venv/lib/python3.6/site-packages/django/template/loader.py", line 62, in render_to_string     return template.render(context, request)   File "/home/gnull/Dropbox/TECH/python/2017/django-exp-pig-to-conversion-site/venv/lib/python3.6/site-packages/django/template/backends/django.py", line 61, in render     return self.template.render(context)   File "/home/gnull/Dropbox/TECH/python/2017/django-exp-pig-to-conversion-site/venv/lib/python3.6/site-packages/django/template/base.py", line 175, in render     return self._render(context)   File "/home/gnull/Dropbox/TECH/python/2017/django-exp-pig-to-conversion-site/venv/lib/python3.6/site-packages/django/template/base.py", line 167, in _render     return self.nodelist.render(context)   File "/home/gnull/Dropbox/TECH/python/2017/django-exp-pig-to-conversion-site/venv/lib/python3.6/site-packages/django/template/base.py", line 943, in render     bit = node.render_annotated(context)   File "/home/gnull/Dropbox/TECH/python/2017/django-exp-pig-to-conversion-site/venv/lib/python3.6/site-packages/django/template/base.py", line 910, in render_annotated     return self.render(context)   File "/home/gnull/Dropbox/TECH/python/2017/django-exp-pig-to-conversion-site/venv/lib/python3.6/site-packages/django/template/defaulttags.py", line 447, in render     url = reverse(view_name, args=args, kwargs=kwargs, current_app=current_app)   File "/home/gnull/Dropbox/TECH/python/2017/django-exp-pig-to-conversion-site/venv/lib/python3.6/site-packages/django/urls/base.py", line 88, in reverse     return iri_to_uri(resolver._reverse_with_prefix(view, prefix, *args, **kwargs))   File "/home/gnull/Dropbox/TECH/python/2017/django-exp-pig-to-conversion-site/venv/lib/python3.6/site-packages/django/urls/resolvers.py", line 632, in _reverse_with_prefix     raise NoReverseMatch(msg) django.urls.exceptions.NoReverseMatch: Reverse for 'convert' not found. 'convert' is not a valid view function or pattern name. [29/Dec/2017 03:50:41] "GET / HTTP/1.1" 500 119517
Here is my traceback in my browser when I navigate to localhost:8000 :  https://pastebin.com/km8TZY4r


Here is my urls.py:
from django.conf.urls import url
from django.contrib import admin
from . import views

urlpatterns = [
    url(r'^admin/', admin.site.urls),
    url(r'^$', views.home),
    url(r'^translate/', views.translate, name='translate'),
]

""" url(r'^convert/', views.convert, name='convert'), """
Here is my views.py:
from django.http import HttpResponse
from django.shortcuts import render

def home(request):
    return render(request, 'home.html')

def translate(request):
    original = request.GET['originaltext'].lower()
    translation = ''
    for word in original.split():
        if word[0] in ['a', 'e', 'i', 'o', 'u']:
            # vowel
            translation += word
            translation += 'yay '
        else:
            #consonant
            translation += word[1:]
            translation += word[0]
            translation += 'ay '
    return HttpResponse(translation)

''' def convert(request):
    Mile = request.GET['MileEntry']
    Mile = float(Mile)
    KM = float(0.621371)
    Mile * KM = converted
'''
Here is my home.html:
<center><h1>Mile to Kilometer converter!</h1></center>
<center><h2>(First a silly, ridiculous, jevenile, useless pig latin calculator)</h2></center>

<center>
  <form action="{% url 'translate' %}">
    <input type="text" name="originaltext"/>
      <br>
      <br>
    <input type="submit" value="Translate!" />
  </form>
</center>
  <!-- <form action="{% url 'convert' %}">
    <input type="text" name="MileEntry"/>
      <br>
      <br>
    <input type="submit" value="Convert!!!" />
  </form>
Thank you,
Reply
#2
Quote:
<form action="{% url 'convert' %}">

You're trying to generate a url for a "convert" route, but you commented the route out from urls.py, so it's throwing an error, letting you know that it doesn't know how to generate that url.

It looks like you put the form in an html comment, so it won't show up, but it is still being generated by django.  If you don't want to just re-add the route, you need to wrap that section with a comment template tag, to let django know it should ignore that section: https://docs.djangoproject.com/en/2.0/re...s/#comment
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  Django: How to automatically substitute a variable in the admin page at Django 1.11? m0ntecr1st0 3 3,303 Jun-30-2019, 12:21 AM
Last Post: scidam

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020