簡體   English   中英

Django-將表單保存到內置數據庫SQLite

[英]Django - saving form to the built in database SQLite

這是我第一次使用Django,非常簡單地嘗試將文本保存到數據庫中。 我已經在數據庫中創建了表輸入。

我收到以下錯誤;

錯誤-找不到頁面(404)

我的代碼如下:

型號

from django.db import models


class Input(models.Model):
    waist = models.IntegerField(default=0)
    height = models.IntegerField(default=0)

def __unicode__(self):
    return "{0} {1} {2}".format(
        self, self.waist, self.height)

表格

class InputForm(forms.ModelForm):
class Meta:
    model = Input
    fields ={
    'waist',
    'height'
    }

views.py

def InputView(request):
if request.POST:
    form = InputForm(request.POST)
    if form.is_valid():
        form.save()

        return HttpResponseRedirect('account/input')
else:
    form = InputForm()


    args = {'form' : form}

    return render(request,'accounts/input.html', args)

urls.py

url(r'^input/$',views.InputView, name='view_input')

input.html

{% extends 'base.html' %}


{% block head %}

<title> Edit Profile </title>
{% endblock %}

{% block body %}
<div class="container">
    <h1> Enter Body Details </h1>
    <br>
    <br>
    <form action="account/input" method="post">
      {% csrf_token %}
      <ul>
      {{form.as_ul}}
      </ul>
      <input type="Submit" name="submit" value="submit"/>
    </form>
</div>
{% endblock %}

如果有人可以幫助,將不勝感激。

HttpResponseRedirect('account/input')

您需要在開頭再添加一個“ /”,例如

HttpResponseRedirect('/account/input')

另一種方法是使用reverse(),因此,如果您更改URL,則不必更改代碼,並且可以避免輸入URL時出錯。

代替

HttpResponseRedirect('/account/input')

采用

HttpResponseRedirect(reverse('view_input'))

記得添加導入

from django.urls import reverse

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM