python – Django:从表单示例保存到DB
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python – Django:从表单示例保存到DB,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1598字,纯文字阅读大概需要3分钟。
内容图文
![python – Django:从表单示例保存到DB](/upload/InfoBanner/zyjiaocheng/785/9ab3e7ba38b34dcd8dc9c8de01bae678.jpg)
我似乎很难找到一个关于从表单向数据库保存数据的好的源/教程.随着它的进展,我慢慢迷路了.我是Django的新手,请指导我.我收到了错误
local variable ‘store’ referenced before assignment
这是我的相关代码,
models.py
from django.db import models
# Create your models here.
class Store(models.Model):
store_name = models.CharField(max_length=100)
def __unicode__(self):
return self.store_name
class Feedback(models.Model):
store = models.ForeignKey(Store)
username = models.CharField(max_length=100)
comment = models.CharField(max_length=1000)
date = models.DateTimeField("comment_date")
def __unicode__(self):
return self.username
views.py
def add(request, store_name):
if request.method == "POST":
store = Store.objects.get(store_name=store_name)
saved_username = request.POST.get("username", "")
saved_feedback = request.POST.get("feedback", "")
feedback = Feedback(username=saved_username, comment=saved_feedback, date=timezone.now())
feedback.save()
return HttpResponseRedirect(reverse("view", args=(store.id,)))
addfeedback.html(在views.py中调用add的那个)
<html>
<head><title>Add Feedback</title>
<link rel="stylesheet" type="text/css" href={{ STATIC_URL }}styles.css>
</head>
<body>
<div class="form">
<form action="{% url add store.store_name %}" method="post">
{% csrf_token %}
<input type="text" name="username" size="20"><br />
<textarea name="feedback" cols="50" rows="10"></textarea><br />
<input type="submit" value="Add" />
</form>
</body>
</html>
解决方法:
使用django.forms进行工作.不要将数据从POST直接放到db.参见相关的documentation.
local variable 'store' referenced before assignment
错误很明显 – 即使请求不是POST,您也会引用存储.
内容总结
以上是互联网集市为您收集整理的python – Django:从表单示例保存到DB全部内容,希望文章能够帮你解决python – Django:从表单示例保存到DB所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。