[英]Django / Assigning a value to form.instance in views.py
[英]Django - How access the value of an instance in views.py
我有這個 model
class Post(models.Model):
title = models.CharField(max_length=100)
title2 = models.CharField( max_length=100)
content = models.TextField(default=timezone.now)
content2 = models.TextField(default=timezone.now)
post_image = models.ImageField(upload_to='post_pics')
post_image2 = models.ImageField(upload_to='post2_pics')
date_posted = models.DateTimeField(default=timezone.now)
author = models.ForeignKey(User, on_delete=models.CASCADE)
然后我有這個簡單的視圖 function,它允許我訪問 HTML 中的每個字段:
def home(request):
postings = {
'listings' : Post.objects.all(),
}
return render(request, 'front/front.html', postings)
{% for listings in listings%}
<h1>{{listings.content}}</h1>
{% endfor %}
有了這個,我可以訪問該 model 的每個實例的content
字段並顯示它
我的問題是如何訪問我的視圖 function 中的content
字段並進行更改。 content
字段包含一個郵政編碼,我想使用 API 來顯示該郵政編碼的城市(我已經知道該怎么做)並將其傳遞回h1
標簽。 每個實例都有一個唯一的郵政編碼,所以我需要它來申請每個實例。 我將如何處理這個?
最簡單的方法是創建另一個變量(來自視圖),它為相應的郵政編碼找到城市,並將其通過上下文字典發送到模板。 或添加 model 城市設置默認值和 Null 及更高版本基於輸入的密碼,您可以將值設置為 model 的城市屬性。
如果您想將 CONTENT 的值編輯為城市名稱...那么,
最好的方法是覆蓋保存方法並在那里設置值,
模型.py:
class Post(models.Model):
...
def save(self, *args, **kwargs):
self.content = API_VALUE_OF_city_name
super(Post, self).save(*args, **kwargs)
如果你想從視圖中更新它,
在views.py中:
instance_update = Post.objects.filter(id = <pk of Post>).update(content = NEWLY FOUND CITY NAME)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.