Bug that crashes the Python interpreter 3.7 on Mac OS X - Printable Version +- Python Forum (https://python-forum.io) +-- Forum: Python Coding (https://python-forum.io/forum-7.html) +--- Forum: General Coding Help (https://python-forum.io/forum-8.html) +--- Thread: Bug that crashes the Python interpreter 3.7 on Mac OS X (/thread-16071.html) |
Bug that crashes the Python interpreter 3.7 on Mac OS X - Stef - Feb-13-2019 I'm pretty new to Python and am currently exploring Flask. I wanted to subclass one the Field classes to create a percentage field but when I add it to a form, it crashes my interpreter. Here's the code: from flask_wtf import FlaskForm from wtforms import Form, FloatField, IntegerField, BooleanField, SelectField, validators from constants import * class PercentField(FloatField): def __init__(self, *args, **kwargs): super(PercentField, self).__init__(validators=[validators.number_range(0, 100)], *args, **kwargs) def process_data(self, value): return value / 100 class ParameterForm(FlaskForm): num_iterations = IntegerField('Iterations', default=500) initial_im2 = FloatField('Initial IM2', default=100000) growth_rate = PercentField('Growth rate', default=0.0)And here's the .html file <!DOCTYPE html> <title>Parameter Form</title> {% with messages = get_flashed_messages(with_categories=true) %} {% if messages %} <ul> {% for message in messages %} <li>{{ message[1] }}</li> {% endfor %}</ul> {% endif %} {% endwith %} <form action="" method="post"> {{ parameter_form.csrf }} <div class="input number"> {{ parameter_form.num_iterations.label }} {{ parameter_form.num_iterations }}</div> <div class="input number"> {{ parameter_form.initial_im2.label }} {{ parameter_form.initial_im2 }}</div> <div class="input percentage"> {{ parameter_form.growth_rate.label }} {{ parameter_form.growth_rate }}</div> <div class="input submit"> <input type="submit" value="Run"></div> </form>I only get the crash when I add the line with {{ parameter_form.growth_rate.label }} {{ parameter_form.growth_rate }} I am probably making an obvious mistake somewhere but I have no clue what exactly. Thanks in advance, Stef Some additional info: The crash only happens when I add I get the following error message in the terminal window: Thanks,Stef Oversight. So, the bug happens when I add {{ parameter_form.growth_rate }} So the object is created but things go awry when it is rendered in the browser. Narrowed it doen further. Apparently the error occurs as soon as I add the process_data() function to the class. Tried just returning the value, returning self and not returning anything (just writing a line of mock code). Everything leads to a fatal crash but not right away. When I just print the value to the output window I see a couple of values (listed below) before I get a crash. So it has something to do with the WTF package it seems. The values: 0.0 1.9 4.0 1.0 2.5 0.5 20.0 100.0 0.0 20.0 2.0 2.0 0.0 2.0 RE: Bug that crashes the Python interpreter 3.7 on Mac OS X - micseydel - Feb-18-2019 Why do you think it's Python rather than Flask crashing? Do you get a stacktrace when the crash happens? |