我正在实现一个非常轻量级的Web项目,它只有一个页面,在图表中显示数据.我使用Django作为Web服务器,并使用d3.js作为此图的绘图例程.你可以想象,只有一些简单的时间序列必须由Django服务器响应,所以我想知道我是否可以在ram中保存这个变量.我的第一个测试是积极的,我的views.py中有类似的东西:
X = np.array([123,23,1,32,123,1])
@csrf_exempt
def getGraph(request):
global X
return HttpResponse(json.dumps(X))
Run Code Online (Sandbox Code Playgroud)
注意,X不时被另一个函数更新,但所有用户访问都是只读的.我需要处理吗?
我在Django中找到了一个讨论全局变量的线程,但在这种情况下,难点在于处理多个写访问.
回答关于为什么我不希望在数据库中存储数据的潜在问题:我在我的所有数据X已经存储在一个巨大的远程数据库中,这个Web应用程序只需要显示数据.
我知道之前已经问过这个问题.我已经尝试了几乎所有人给出的选项,但我似乎无法解决它.我是一个完整的新手所以请让我知道我哪里出错了.
我想写一个简单的原始形式.到目前为止,我还没有实现任何身份验证或会话机制(但是从我读过的内容看这个问题并不重要.如果我错了,请纠正我).
当我尝试提交表单时,出现此错误:
Forbidden (403)
CSRF verification failed. Request aborted.
Reason given for failure:
CSRF cookie not set.
Run Code Online (Sandbox Code Playgroud)
这是我的代码:
我的Views.py有这个方法:
def submit(request):
global alphabet_array
dishes = Dish.objects.all().order_by('name')
if request.method == "POST":
print request.POST['restaurant']
print request.POST['rating']
render_to_response('index.html', {}, context_instance=RequestContext(request))
else:
render_to_response('index.html', {}, context_instance=RequestContext(request))
Run Code Online (Sandbox Code Playgroud)
许多人说使用RequestContext解决了这个问题,但对我来说,即使这样也行不通.
模板如下所示:
<form role="form" action="/submit/" method="post">{% csrf_token %}
<div class="form-group">
<label for="">Restaurant Name</label>
<input type="text" name="restaurant" class="form-control" id="">
</div>
<div class="form-group">
<label for="">Rating</label>
<select class="form-control" name="rating">
<option>--</option>
<option>1 (very bad)</option>
<option>2 (bad)</option>
<option>3 (average)</option>
<option>4 (good)</option>
<option>5 (excellent)</option> …Run Code Online (Sandbox Code Playgroud) 我创建了一个Django-rest-framework应用程序。它公开了一些在MySQL DB中执行一些get / set操作的API。
我有一个向另一个服务器发出HTTP请求的要求,并将此响应与通常的响应一起进行。我正在尝试使用自制的HTTP连接池来发出HTTP请求,而不是在每个请求上进行新连接。
保持此应用程序级别HTTP连接池对象最合适的位置是什么?
我一直在寻找它,并且有多种解决方案,每种都有一些缺点。这里有一些:
在diff文件中创建池的单例类,但这不是执行操作的好方法。关于为什么不使用单例设计模式有各种讨论。
另外,我不知道合并一个池池有多聪明?(:P)
要使用会话,但我想如果这是特定于用户会话的内容(例如特定于用户的号码等)会更有意义
同样,该对象需要可序列化。我不知道HTTP连接池如何序列化。
存储此类应用程序/全局级别变量的最佳位置是什么?