我如何在django中使用一个函数的变量到另一个函数

时间:2016-12-18 01:20:50

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

我正在编写一个程序来编辑学生的详细信息(而不是管理员)。我必须使用不同的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()

3 个答案:

答案 0 :(得分:2)

不知道为什么一个答案在这里被标记为正确答案如果你想与其他视图共享输入,你可以使用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

答案 1 :(得分:0)

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

第一个功能:

def get_username():
    username = input
    return username

第二个功能:

def edit_student():
    username = get_username()

答案 2 :(得分:0)

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

div

编辑学生的网址将是:

本地主机:8000 /学生/ 67

要了解详情,请查看docs.