python - Django - 使用用户输入的 id 更新模型
问题描述
我坚持使用 Django 中的第一个应用程序。基本上它将是网页上的几个对象,每个对象都有输入表单。如果要输入用户类型和电子邮件地址,则该对象应标记为“保留”。
我尝试了几种解决方案(可能是因为这种多解决方案,它们都没有奏效)。一开始我使用 AJAX 来更新对象的状态并且它工作,但是当我实现电子邮件地址输入时它失败了。所以我发现我应该放弃 AJAX 并追求 ModelForm。
所以现在我不工作的代码看起来像这样:
urls.py
urlpatterns = [
url(r'^$', views.index),
url(r'^occupy/$', views.occupy, name='occupy'),
index.html
{% for gift in gifts %}
<div class="panel-heading">
<h2 class="panel-title"> {{ gift.name }}</h2>
</div>
<div class="panel-body">
{{ gift.link }}
<form role="form" action="" method="POST">
{% csrf_token %}
{{ form }}
<input type="submit" value="szukaj" name='q' data-id="{{ gift.id }}">
</form>
</div>
{% endfor %}
models.py
class Gift(models.Model):
name = models.CharField(max_length=100)
link = models.URLField(max_length=100)
email = models.EmailField(blank=True, default='')
occupied = models.BooleanField(default=0)
forms.py
class ContactForm(forms.ModelForm):
class Meta:
model = Gift
fields = ('email',)
views.py
def index(request, id):
gifts = Gift.objects.all()
form_class = ContactForm()
if request.method == 'POST':
occupy(request)
def occupy(request):
print('hrj')
gift_id = request.GET.get('gift_id', None)
if (gift_id):
gift = Gift.objects.get(id=int(gift_id))
我猜这部分没问题,但我缺少数据流(电子邮件和 ID)。任何帮助将不胜感激。
解决方案
推荐阅读
- php - 在 NOT IN 中创建子查询
- automator - 如何安全 > Automator 中“Watch Me Do”QuickAction 的隐私设置
- azure-analysis-services - 提高 Azure 分析服务模型的导入速度
- java - 查找 JTextfield 字符串中某些字符的出现次数
- reactjs - 从 reducer 存储中解构数组属性值
- python - 与 selenium driver.find_element 不一致
- python - 如何在 VM GCP 中安装 spark-bigquery-connector?
- android - 将 Android 隐私政策纳入应用程序还是仅在网站上?
- python - 如何修改作为可变长度参数传递的列表的内容?
- mysql - 在视图中使用变量的替代方法