0
歡迎各界朋友如何保存的Django模型的形式,香脆,我無法將數據保存到數據庫
我需要你的幫助。
我無法從表單中將數據保存到我的數據庫。
這當然可能很簡單,但我不知道該怎麼做。
urls.py
from django.conf.urls import url
from . import views
urlpatterns = [
url(r'^$', views.product_list, name='product_list'),
url(r'^busy/', views.product_busy, name='product_busy'),
]
models.py
from django.db import models
from django.core.urlresolvers import reverse
class Busy(models.Model):
name = models.CharField(max_length=200, db_index=True)
slug = models.SlugField(max_length=200, db_index=True)
class Meta:
ordering = ('name',)
index_together = (('id', 'slug'),)
verbose_name = 'busy'
verbose_name_plural = 'busy'
def __str__(self):
return self.nazwa
def get_absolute_url(self):
return reverse('konfigurator:product_busy',
args=[self.id, self.slug])
forms.py
from django import forms
from django.utils.translation import ugettext_lazy as _, ugettext
from crispy_forms import layout, bootstrap
from crispy_forms.helper import FormHelper
from crispy_forms.layout import Layout, Fieldset, ButtonHolder, Submit, MultiField, Div, Field, Button
from .models import Busy
class Konfig(forms.ModelForm):
class Meta:
model = Busy
fields = ['name','slug']
def __init__(self, *args, **kwargs):
super(Konfig, self).__init__(*args, **kwargs)
self.helper = FormHelper()
self.helper.form_action = "."
self.helper.form_method = "POST"
self.helper.form_class = 'order-form'
self.helper.layout = layout.Layout(
layout.Fieldset(
_("XXX"),
layout.Field("name"),
layout.Field("slug"),
),
bootstrap.FormActions(
layout.Submit("submit", _("Send"),
css_class="right"),
)
)
views.py
from django.shortcuts import render, get_object_or_404
from .models import Busy
from django.shortcuts import render
from .forms import Konfig
from django.conf import settings
from django.http import HttpResponse
from django.template.loader import render_to_string
def product_list(request):
return render(request,'konfig/product/list.html')
def product_busy(request):
return render(request,'konfig/product/busy.html', {'form': Konfig()})
def konfig(request):
form = Konfig()
return render(request, "konfig/product/busy.html", {'form': form})
busy.html
{% extends "konfig/base.html" %}
{% load crispy_forms_tags %}
{% crispy konfig_form konfig_form.helper %}
{% block title %}
XX
{% endblock %}
{% block content %}
<div class="order-info2">
{% crispy form %}
</div>
{% endblock %}
如何解決問題?
我將不勝感激您的幫助。
UPDATE views.py
def konfig(request):
if request.method == 'POST':
form = Konfig(request.POST)
if form.is_valid():
name = form.save()
name.save()
name = Busy.objects.create(name=name)
return render(request,
'konfig/product/busy.html',
{'name': name})
else:
form = Konfig()
return render(request,
'konfig/product/busy.html',
{'form': form})
我嘗試,但它仍然無法正常工作。 可能與Context處理器有關。
它看起來很棒。不幸的是它不起作用。也許與Context處理器有關。你怎麼看 ? – Kuba
你得到的錯誤是什麼?你可以編輯帖子的錯誤信息.. – zaidfazil
也form.save()就足夠了。之後的陳述完全沒有必要。重定向到url'profile_busy'是錯誤的,bcz url不需要任何關鍵字參數。 kwargs {}是不需要的。 – zaidfazil