如何从用户输入在django / python中搜索的内容?

时间:2017-12-27 18:14:49

标签: python html django

我在python / django中比较新。有3个模型,例如:

class Card(models.Model):    
    id = models.AutoField(primary_key=True)    
    cardtype_id = models.CharField(max_length=10)   
    holder_name = models.CharField(max_length=100)   
    card_number = models.IntegerField(default=0)   
    email = models.EmailField(blank=True)   
    birthday = models.DateField(blank=True, default=None)  
    created = models.DateTimeField(default=timezone.now)  
    updated = models.DateTimeField(default=timezone.now)  
    strip = models.CharField(max_length=20, default="strip")

  def __str__(self):
        return self.holder_name

class Transaction(models.Model):
    id = models.AutoField(primary_key=True)  
    description = models.CharField(max_length=100)

class CardTransactions(models.Model):
    card = models.ForeignKey(Card, on_delete=models.CASCADE)   
    transaction = models.ForeignKey(Transaction, on_delete=models.CASCADE)   
    value = models.DecimalField(max_digits=7, decimal_places=2, blank=True)   
    value_date = models.DateTimeField(default=timezone.now)   
    created = models.DateTimeField(default=timezone.now)   
    description = models.CharField(max_length=200, blank=True)   
    table_value = models.DecimalField(max_digits=7, decimal_places=2, blank=True)   
    discount = models.DecimalField(max_digits=7, decimal_places=2, blank=True)   
    net_value = models.DecimalField(max_digits=7, decimal_places=2, blank=True)   
    doc_number = models.CharField(max_length=20, blank=True)

如何让用户输入,例如" card_number"并打印出"描述"在HTML页面上?

2 个答案:

答案 0 :(得分:0)

from django.forms import model_to_dict


def my_view(request):
    card_num = request.GET.get('cc')
    return HttpResponse(str(model_to_dict(Card.objects.filter(card_number=card_num).first()))

至少是那样的

答案 1 :(得分:0)

您需要编写视图和模板才能执行此任务。

  • 一个视图是渲染html模板,您将在其中输入一个表单来输入值。

  • 单击该按钮将调用带有参数card_number的另一个视图,该视图将从与card_number关联的数据库中检索描述并返回到模板,其中可以根据您的设计显示相同的div。< / p>

  • Ajax可用于调用视图并获取响应。

请参阅以下链接以供参考:

https://docs.djangoproject.com/en/2.0/intro/tutorial03/

https://docs.djangoproject.com/en/2.0/intro/tutorial04/