在Django中为views.py中的每个用户创建唯一变量的方法

时间:2016-01-19 12:32:48

标签: python django variables django-views

我有一个在Django框架中创建的应用程序,它根据用户插入信息的Web上的一些输入创建一些类似excel的静态图表。我在views.py中有一些处理来自用户请求的函数。 问题是,如果两个用户(例如user_1和user_2同时使用该应用程序),则user_1将覆盖用户的s_2信息。

例如在我的views.py中,我有一个名为net_percent的变量,它接受来自WEB界面输入的值:

net_percent = int(request.POST.get('net_percent', 0))

此框架中是否有方法或函数为每个用户创建唯一变量?

例如,user_1使用 net_percent_1 ,user_2使用 net_percent_2

我的views.py内容:

from django.http import HttpResponseRedirect, HttpResponse
from django.shortcuts import *
from django.template import RequestContext
from django.conf import settings
from django.core.mail import send_mail
from django.contrib import messages, auth
from django.contrib.auth.models import User
from django.core.context_processors import csrf
from django.core.urlresolvers import resolve

start_date = 0
stop_date = 0
sop_date = 0

qa_pr_prediction = 0
net_percent = 0

curent_week = 0
start_week = 0
stop_week = 0
sop_week = 0

1 个答案:

答案 0 :(得分:1)

你真的需要存储变量名吗?这可以通过使用python词典来实现。

d = {}
i = 0
while i < your_users_quantity:
    // generate your username (e.g.: user = "user_"+i that could result in user_1 for example)
    key = user
    // generate your value (e.g.: net_percent = whatever THIS user net_percent is)
    value = net_percent
    d[key] = value 
    i += 1

然后,您只需拨打[&#39; user_1&#39;]即可获得属于该用户的net_percent值。

有关此有用结构的详细信息,请参阅此链接:https://docs.python.org/2/tutorial/datastructures.html#dictionaries