繁体   English   中英

views.py和urls.py无法连接以执行功能

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM