【问题标题】:How i can use variable of one function to another function in django我如何将一个函数的变量用于 django 中的另一个函数
【发布时间】:2017-05-03 10:41:58
【问题描述】:

我正在编写一个程序来编辑学生详细信息(而不是作为管理员)。我必须使用不同的 def 来保存包含用户名的变量。在第一个中,我试图获取用户名,而在另一个实际应用编辑功能的 def 中。但它需要包含用户名的变量。如何从第一个中调用变量?对不起,奇怪的措辞。我不知道该怎么说:P 谢谢!

def get_username(request):
    #the code to open up a input fields that gets the username
    username = input

def edit_student(request):
    #the code to open up a pre populated form with the instance of the same student which i get from get_username()

【问题讨论】:

  • get_username 是 django 视图或只是函数描述函数中的详细信息
  • 这是 django 视图。

标签: django python-2.7 django-forms django-views


【解决方案1】:

不知道为什么这里将一个答案标记为正确答案,如果您想与其他视图共享输入,您可以使用 session.

def get_username(request):
    #the code to open up a input fields that gets the username
    username = input
    # after getting username , you can store the value in current session
    request.session['username'] = input

def edit_student(request):
    # someway edit_student view is reached, here you can get username
    username = request.session['username']
    # use this username to perform operations

注意:如果您要添加用户登录功能,请检查 docs

【讨论】:

  • 这个答案将为知道什么是 django 视图以及什么是普通函数的人提供
【解决方案2】:

您可能希望使用 url 将变量传递到视图中。通常是这样完成的:

def edit_student(request, id):

    username = get_username(id)

编辑学生的网址是:

本地主机:8000/student/67

要了解更多信息,请查看docs.

【讨论】:

    【解决方案3】:

    很简单,您只需从第二个函数调用第一个函数:

    第一个函数:

    def get_username():
        username = input
        return username
    

    第二个功能:

    def edit_student():
        username = get_username()
    

    【讨论】:

    • 不,这是 django 函数视图。这不起作用。
    猜你喜欢
    • 1970-01-01
    • 2021-02-24
    • 1970-01-01
    • 2013-04-22
    • 2017-11-04
    • 2020-07-27
    • 1970-01-01
    • 2015-04-12
    • 2012-09-28
    相关资源
    最近更新 更多