Python 如何在用户未在Django中输入数据的POST请求中发送数据
我正试图为我的网站制作一份股票观察名单。网页上已经显示了公司名称和股价等数据。我希望用户只需单击同一网页上的按钮,它就会将数据添加到用户的观察列表中 这是一个股票分析网站。我不知道怎么做。 PS-我对编码是新手 观察列表模型:Python 如何在用户未在Django中输入数据的POST请求中发送数据,python,django,post,django-models,django-forms,Python,Django,Post,Django Models,Django Forms,我正试图为我的网站制作一份股票观察名单。网页上已经显示了公司名称和股价等数据。我希望用户只需单击同一网页上的按钮,它就会将数据添加到用户的观察列表中 这是一个股票分析网站。我不知道怎么做。 PS-我对编码是新手 观察列表模型: class WatchList(models.Model): user = models.ForeignKey(User, on_delete=models.CASCADE) watchlist = models.CharField(max_length=
class WatchList(models.Model):
user = models.ForeignKey(User, on_delete=models.CASCADE)
watchlist = models.CharField(max_length=300, default='')
price = models.IntegerField(default='')
html:
{%extends'主页/layout.html%}
{%block content%}
{%load static%}
技术分析
技术分析
- {{ticker}-
- {{price}
- {{diff_green}
- {{diff_red}
{%csrf_令牌%}
诸如{{ticker}}和{{price}之类的信息是要发布到模型并在不同html上显示给用户的数据
预期结果是通过单击将一家公司及其价格添加到观察列表模型中
class WatchListForm(forms.Form)
user=forms.ModelChoiceField(queryset=user.objects.all(),widget=forms.HiddenInput())
watchlist=models.CharField(widget=forms.TextInput({'class':'watchlist'}))
price=models.IntegerField(widget=forms.HiddenInput())
{%csrf_令牌%}
{{form.user}
{{form.price}}
{{form.watchlist}}
带有request.user和price的初始表单并保存
或者,您可以在调用form.u有效函数后在视图中设置值
如果form.is_有效():
data=表格.U数据
data.update({'user':request.user,'price':some_price})
或者使用参数更新POST数据
request.POST.update({'user':request.user,'price':some_price})
{% extends 'homepage/layout.html' %}
{% block content %}
{% load static %}
<head>
<title>Technical Analysis</title>
<link rel="stylesheet" href="{% static 'tech_analysis/tech_analysis.css' %}">
</head>
<div class="line"></div>
<div class="head">
Technical Analysis
</div>
<div class="coname">
<ul class="ticker_table">
<li class="ticker_name">{{ ticker }}-</li>
<li class="ticker_price">{{ price }}</li>
<li class="diff_green">{{ diff_green }}</li>
<li class="diff_red">{{ diff_red }}</li>
</ul>
<form action="{% url 'bsh_user:Userpage' %}" method="post">
{% csrf_token %}
<input class="watchlist" type="submit" value="Add To Watchlist +">
</form>
</div>