我有一个基于PC的gui应用程序,我试图在使用django的基于浏览器的解决方案中复制相同的功能。在PC上,我有一个复选框,可为用户启用其他功能。我需要做的就是选中此框后返回值(True或False),这将改变视图模块中的逻辑。
我已将复选框实现为:
<form method='post'>
<input type="checkbox" name="use_stages" value="use_stages">Use stages
</form>
该复选框出现在浏览器中,但不允许我进行检查。
我看过django表格,但是对于这样一个简单的要求,这似乎有点过头了。我必须走那条路线吗?
我不愿嫁给一个复选框。也许有一个按钮会随着用户单击而切换文本。
有人可以建议我从这里继续吗?
这是模板的代码:
from django.shortcuts import render
def home(request):
"""Home page."""
context = {}
url = 'boards/home.html'
return render(request, url, context)
解决方案
要扩大下面的sandeep答案,现在这是模板中的代码:
<form method='post'>
{% csrf_token %}
<input type="checkbox" name="use_stages" {% if use_stages %} checked="checked"{% endif %} value= "1">Use stages
<input type="submit" value="submit">
</form>
这是在视图中:
def my_url(request):
context = <get context dict from somewhere>
if request.method == 'POST':
use_stages = request.POST.get('use_stages', 0)
context['use_stages'] = use_stages == '1'
url = 'boards/main_screen.html'
return render(request, url, context)
答案 0 :(得分:1)
您可以这样做。
在模板中:
def home(request):
if request.method == 'POST':
check = request.POST.get('use_stages', 0)
print(check) # 1 (True) or 0 (False)
context = {
}
url = 'boards/home.html'
return render(request, url, context)
views.py
public class Experience:BaseEntity
{
public virtual string Name { get; set; }
public virtual string Description { get; set; }
public virtual DateTime? CreationDate { get; set; }
public virtual string City { get; set; }
public virtual int Price { get; set; }
public Currency Currency { get; set; }
public virtual int Rating { get; set; }
public virtual double? Lat { get; set; }
public virtual double? Lng { get; set; }
public virtual DateTime? CompleteDate { get; set; }
public virtual string CoverPic { get; set; }
public virtual string Images { get; set; }
public virtual string BroadcastingType { get; set; }
public virtual bool IsActive { get; set; }
public virtual bool IsFinished { get; set; }
public virtual bool IsConfirmed { get; set; }
public virtual int CountryId { get; set; }
[ForeignKey("CountryId")]
public virtual Country Country { get; set; }
public virtual string UserId { get; set; }
[ForeignKey("UserId")]
public virtual AppUser IdentityUser { get; set; }
public virtual ICollection<Proposals.Proposals> Proposals { get; set; }
public virtual ICollection<Comments.Comments> Comments { get; set; }
}
如果复选框为check,则check的值为1,否则为0。您可以将其用作True(1)或False(0)
答案 1 :(得分:0)
在Models.py文件中,您可以使用BooleanField添加属性 例如:特征=模型。 BooleanField(default = False) 这将显示一个复选框,默认值为未选中