簡體   English   中英

如何讓用戶輸入以在 django/python 中搜索內容?

[英]How do I make a input from the user to search for something in django/python?

我在 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 頁面上打印出“描述”?

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/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM