首页 > 解决方案 > 如何从视图中创建的函数向字段添加信息?

问题描述

如何从视图函数中获取值并将其放入模型字段中?例如,假设我做了一个将两个数字相加的视图。每次创建该模型的实例时,如何获取该值并将其添加到模型的字段中?还是有另一种我没有看到的方法。

我有一个函数可以获取用户的 IP 并显示他们所在的城市和地区。我想知道每次创建该模型的实例时如何将该信息放入模型字段中。

标签: pythondjango

解决方案


我认为您正在谈论get_context_data()哪种方法允许您将数据传递给模板。例如,这里是来自官方文档的代码:

from django.views.generic import DetailView
from books.models import Book, Publisher

class PublisherDetail(DetailView):

    model = Publisher

    def get_context_data(self, **kwargs):
        # Call the base implementation first to get a context
        context = super().get_context_data(**kwargs)
        # Add in a QuerySet of all the books
        context['book_list'] = Book.objects.all()
        return context

然后,您可以在模板中访问该上下文:

{% for book in book_list %}
    <p>{{ book.name }}</p>

在您的示例中,您将根据您要执行的操作将 IP 传递给模板或表单。这是解释它的官方文档


推荐阅读