2017-03-07 63 views
0

我有一個「調查」形式,其中有字段 - 名稱,ID和年齡。我希望在用戶提交表單以掃描我的數據庫表中輸入的「id」之前,在「id」字段中捕獲用戶條目。如何捕獲輸入的數據並將其用於掃描數據庫的查看功能?我可以使用javascript將用戶輸入傳遞給我的視圖功能嗎?那看起來怎麼樣?我是Django開發中的新手,所以任何建議都可以幫助我度過一段美好的時光!如何在不完整的Django表單字段中獲取用戶輸入?

這裏是我試圖設計的視圖功能,它可以掃描我的調查表中的「id」,並且如果在過去30天內有匹配,那麼它會返回一個警報彈出給用戶進行調查或不。

def search(request): 
if request.method == 'POST': # If the form has been submitted... 
    form = TopicForm(request.GET) # A form bound to the POST data 
    if form.is_valid(): 
     x = form.cleaned_data['id'] 
    else: 
     x = form.cleaned_data['id'] 
x = request.POST.get('url') 



posts = survey.objects.filter('id'=x) 
posts1 = survey.objects.filter(date=posts) 
delta= date.today - posts1 

if delta.days <=30: 
    return HttpResponse('Survey NOT required')    

else: 
    return HttpResponse('Survey required') 

監測模板FORM.HTML

<form action="{% url 'FCR1' %}" method='post' id="form" class="table"> 


    {% csrf_token %} 
    {% crispy form %} 
    <br /> 
    <center> <button> SAVE RECORD &rsaquo;</button></center> 
</form> 

回答

0
from datetime import date, timedelta 

def search(request): 
    if request.method == 'POST': 
     form = TopicForm(request.POST) 
     if form.is_valid(): 
      # Get user id from form data (maybe this is named 'user_id'?) 
      id = form.cleaned_data['id'] 
      # Get the past 30 from today 
      past_30_days = date.today() - timedelta(days=30) 
      # Create the query, but not evaluate yet 
      posts = Survey.objects.filter(id=id, date__gte=past_30_days) 

      # Proper way to check if something exists or not 
      if post.exists(): 
       return HttpResponse('Survey NOT required') 
      return HttpResponse('Survey required') 
     else: 
      # form is not valid. Handle this approprietly. 
      pass 
相關問題