views.py и urls.py не подключаются для выполнения функции - PullRequest
0 голосов
/ 20 июня 2019

У меня есть база данных mysql, подключенная к django, я знаю, что она подключена, потому что вы уже показали мне данные. Однако я сделал небольшую форму для проведения тестов и не сохраняет данные. Код правильный, потому что я уже переместил его с места на 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

1 Ответ

1 голос
/ 20 июня 2019

Я не уверен, что понимаю ваш вопрос, но мне кажется, что ваша проблема в том, что ваша форма отправляется на неправильный URL-адрес. Ваша форма указывает на /create, а шаблон URL - r'^create/$'.

Чтобы форма отправлялась в представление создания, либо задайте регулярное выражение для дополнительного соответствия завершающей косой черты r'^create/?$', либо добавьте косую черту в действие формы, action="/create/".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...