对于基数为10的int(),/ music / 4 / favorite / invalid literal的ValueError:''

时间:2017-01-24 10:01:20

标签: django exception django-forms

我在/ music / 4 / favorite /获取ValueError 对于带有基数为10的int(),文字无效:''

    <img src="{{ album.album_logo}}">
    <h1>{{ album.album_title }} </h1>
    <h3>{{ album.artist }}
    <h4>Here are the Available Songs</h4>

    {% if error_message %}
      <p>{{error_message}}</p>
    {% endif%}  

    <form action="{% url 'Music:favorite' album.id %}" method="post">
    {% csrf_token %}
    {% for song in album.song_set.all %}
      <input type="radio" id="song{{ forloop.counter }}" name="song" value="{{ songs.id }}">
      {{song.song_title}}
      <!label for="{{forloop.couter}}"{{song.song_title}}></label>
      {% if song.is_favorite %}
        <img src="http://i.imgur.com/b9b13Rd.png">
      {% endif %}
      <br>

    {% endfor %}
    <input type="submit" value="Favorite">
    </form>

这是项目的view.py

name | age | sex | address 
michael | 23 | M | germany
rachel | 25 | F | dubai

这是这个的详细模板,

List<Person>

我该如何解决这个问题?谢谢你

2 个答案:

答案 0 :(得分:1)

您的输入正在使用{{ songs.id }}。它应该是{{ song.id }}

<input type="radio" id="song{{ forloop.counter }}" name="song" value="{{ song.id }}">

渲染自己的输入很容易出错,就像在这种情况下一样。如果您使用Django forms,则可以减少出错的可能性。

答案 1 :(得分:1)

第15行有两个错误,是语法错误: [1]单词标签前有一个感叹号。 [2] {{song.song_title}}位于标签内(标签的大于号内)。

第14行有{{song.song_title}},那里没有使用它。

第16,17和16行的代码18应该在第15行的标签标签之间

这是更正后的代码

<img src="{{ album.album_logo}}">
<h1>{{ album.album_title }} </h1>
<h3>{{ album.artist }}
<h4>Here are the Available Songs</h4>

{% if error_message %}
  <p>{{error_message}}</p>
{% endif%}  

<form action="{% url 'Music:favorite' album.id %}" method="post">
    {% csrf_token %}
    {% for song in album.song_set.all %}
        <input type="radio" id="song{{ forloop.counter }}" name="song" 
        value="{{ song.id }}">
        <label for="{{forloop.couter}}">{{song.song_title}}
            {% if song.is_favorite %}
                <img src="http://i.imgur.com/b9b13Rd.png">
            {% endif %}
        </label><br>
    {% endfor %}
    <input type="submit" value="Favorite">
</form>