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

我在python/django中比较新。具有3种型号,例如某些字段:如何从用户输入来搜索django/python中的内容?

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页面上的“说明”?

回答:

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()))

至少类似的东西

回答:

你需要写意见和模板做这个任务。

  • 一个视图将呈现的HTML模板,你将有一个窗体输入值。

  • 点击该按钮会调用另一个参数为card_number的视图,该参数将从与card_number关联的数据库中检索描述,并返回到可根据您的设计显示某些div的模板。

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

见下面的链接以供参考:

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

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

以上是 如何从用户输入来搜索django/python中的内容? 的全部内容, 来源链接: utcz.com/qa/266819.html

回到顶部