[英]views.py and urls.py do not connect to perform a function
我有一个连接到django的mysql数据库,我知道它已连接,因为您已经向我显示了数据。 但是我做了一个小表格来做测试,并且不保存数据。 该代码是正确的,因为我已经将其从地方移到了def index (request):
还有,如果您向我发送数据,那是不正确的,因为它没有在我执行的功能中正确输入
views.py
from django.shortcuts import render, redirect
from models import Test
def index(request):
test = Test.objects.all()
context = {'test': test }
return render(request, 'test_app/index.html', context)
def create(request):
print request.POST
test = Test(name=request.POST['name'], breed= request.POST['breed'])
test.save()
return redirect('/')
urls.py
from django.conf.urls import url
from . import views
urlpatterns = [
url(r'^$', views.index),
url(r'^create/$', views.create)
]
的index.html
<form action"/create" method="post">
{% csrf_token %}
<label for="name">Name: <input type="text" name="name" />
</label>
<label for="breed">Breed: <input type="text" name="breed"/>
</label> <input type="submit" value="create" />
</form>
我没有错误,只是如果您发送POST
但没有任何变量,则不要保存在数据库中,也不要保存在控制台中。 使用python 2.7和Django 1.1
我不确定我是否理解您的问题,但是在我看来,您的问题是您的表单提交了错误的网址。 您的表单指向/create
并且您的网址格式为r'^create/$'
。
要使表单提交到您的创建视图,请设置正则表达式以可选地匹配斜杠r'^create/?$'
,或将斜杠添加到表单操作action="/create/"
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.