我在通过django将数据从popup form保存到sqlite database时遇到问题。
我的部件代码:
**dash.html:**弹出表单按钮
<div class="card-footer clearfix">
<a href="" type="button" class="btn btn-primary float-right" data-toggle="modal" data-target="#newItem"><i class="fas fa-plus"></i> Add item</a>
</div>
弹出代码
<div class="modal-content">
<div class="card card-success">
<div class="card-header">
<h3 class="card-title"><b>Add Item</b></h3>
</div>
<div class="card-body">
<form action="" method="post">
{% csrf_token %}
<div class="row">
<div class="col-sm-6">
<div class="form-group">
<label> Item Name:</label>
<input class="form-control form-control-lg" name="item_name" type="text" placeholder="Item name">
</div>
</div>
<div class="col-sm-6">
<!-- text input -->
<div class="form-group">
<label> Item size:</label>
<input class="form-control form-control-lg" name="item_size"type="text" placeholder="Item size">
</div>
</div>
<!-- /.card-body -->
<div class="modal-footer">
<input type="submit" class="btn btn-default" value="submit"></input>
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
</div>
</div>
</div>
popup代码是dash.html的一部分
models.py:
class itemModel(models.Model):
name = models.CharField(max_length=50)
size = models.CharField(max_length=20)
def __str__(self):
return self.name
我使用SQLITE3作为默认数据库。
表格.py:
from django import forms
from .models import itemModel
class itemForm(forms.ModelForm):
class Meta:
model = itemModel
fields = ["item_name", "item_size"]
浏览次数.py:
from django.shortcuts import redirect
from dashboard.models import addItem
def addItem(request):
if request.method == "POST":
name = request.POST['item_name']
size = request.POST['item_size']
itemModel.objects.create(Name=name, size=size)
return redirect('dashboard')
网址.py:
from django.urls import path
from . import views
urlpatterns = [
path('', views.dashBoard, name='dashboard'),
path('addItem/', views.addItem, name='newItem'),
]
如何执行'views.addItem'当点击弹出窗口上的添加按钮?
1条答案
按热度按时间4nkexdtk1#
在你的模型中没有
item_name
和item_size
这样的字段。你可以使用django表单为这些字段添加属性:forms.py
在模板上,您混合了
modal
和card
结构样式。此外,使用itemForm
可以获得更清晰的模板和视图:views.py
dashboard.html