【发布时间】:2026-02-17 09:05:01
【问题描述】:
我想从用户那里获取数据并使用 django 将其保存到数据库中。已尝试解决。但我无法解决这个问题,也没有在互联网上找到任何可行的解决方案。
我的views.py文件是:-
from django.shortcuts import render, HttpResponse
from home.models import addBooks
def index(request):
return render(request, "index.html")
def checkBooks(request):
return render(request, "checkBooks.html")
def contactUs(request):
return render(request, "contactUs.html")
def addBooks(request):
name = request.POST.get('name', False)
email = request.POST.get('email', False)
bookName = request.POST.get('bookName', False)
authorName = request.POST.get('authorName', False)
desc = request.POST.get('desc', False)
book = addBooks(name=name, email=email,bookName = bookName, authorName = authorName, desc = desc)
book.save()
return render(request, "addBooks.html")
而我的 models.py 文件是:-
from django.db import models
class addBooks(models.Model):
name = models.CharField(max_length=122)
email = models.CharField(max_length=122)
bookName = models.CharField(max_length=122)
authorName = models.CharField(max_length = 122)
desc = models.TextField()
这是 addBooks.html(这里我使用 from 从用户那里获取数据):-
<form method="POST" action = "/addBooks">
{% csrf_token %}
<div class = "container">
<h1 class = "text-center"> Add Books </h1>
<div class="mb-3">
<label class="form-label">Your Name</label>
<input type="text" name = "name" class="form-control">
<div class="form-text"></div>
<div class="mb-3">
<label class="form-label">Email Address</label>
<input type="email" name = "email" class="form-control">
<div id="emailHelp" class="form-text">We'll never share your email with anyone else.</div>
</div>
<div class="mb-3">
<label class="form-label">Book Name</label>
<input type="text" name = "bookName" class="form-control">
<div class="form-text"></div>
</div>
<div class="mb-3">
<label class="form-label">Author Name</label>
<input type="text" name = "authorName" class="form-control">
<div class="form-text"></div>
</div>
<div class="mb-3">
<label class="form-label">Description Of The Book</label>
<input type="text" name = "desc" class="form-control">
<div class="form-text"></div>
</div>
<button type="submit" class="btn btn-primary">Submit</button>
</div>
</div>
</form>
【问题讨论】:
-
你能分享完整的错误跟踪吗
-
我已经编辑了“完整错误回溯”的问题。
-
@KapilSharma 你的模型和视图都被命名为
addBooks,所以当你写book = addBooks(name=name, ...)时你实际上是在调用你的视图。注意:理想情况下,类名应该是PascalCase而不是camelCase,它们也不应该有动词,模型名应该是单数,所以应该是Book而不是addBooks。
标签: django django-models django-views django-forms django-templates