다이어그램에 데이터를 보여주는 단 한 페이지의 매우 간단한 웹 프로젝트를 구현하고 있습니다. Django를 웹 서버로 사용하고 d3.js를이 다이어그램의 루틴으로 사용합니다. 상상할 수 있듯이 Django 서버가 응답해야하는 몇 가지 간단한 시계열이 있습니다. 따라서이 변수를 단순히 ram에 저장할 수 있는지 궁금합니다. 내 첫 번째 테스트는 내 views.py에서 이런 일이 있었다, 긍정적 : X
이 모든 이제 다음 다른 기능에 의해 업데이트됩니다램에있는 django vars
X = np.array([123,23,1,32,123,1])
@csrf_exempt
def getGraph(request):
global X
return HttpResponse(json.dumps(X))
공지 사항을하지만, 모든 사용자 액세스는 읽기 전용입니다. 전역 변수를 정의하여
- 보안 문제를 처리해야합니까?
- 일반적으로 불일치가 있습니까?
a thread은 장고에서 전역 변수에 대해 논의했지만,이 경우 어려움은 여러 개의 쓰기 액세스를 처리하는 것입니다.
데이터를 데이터베이스에 저장하지 않으려는 이유에 대한 대답 : 내 X
에있는 모든 데이터는 이미 거대한 원격 데이터베이스에 저장되어 있으며이 웹 앱은 데이터를 표시해야합니다.
장고 커뮤니티의 일원으로서 나는 반드시 "하지마"라고 말할 필요는 없다. 하지만 캐시 백엔드 +1을 사용하면이 문제를 해결할 수있는 훨씬 좋은 방법입니다. –
@Joe이 시도하고 정상적인 HTTP 요청을 사용하여 잘 작동하지만 'AJAX를 통해 호출 할 때 캐시되지 않습니다. 아마 장고는 모든 AJAX 요청이 이전과 다르다고 생각하고'X'를 다시 계산합니다. 어떻게 대처할 수 있니? 하지만 Django 캐시 시스템을 추천 해 주셔서 감사합니다. - 글로벌 바보다 훨씬 더 우아합니다. –
괜찮습니다. 나는 저수준 캐시 API를 사용하여 그것을 해결했다. 그것은 단지 완벽합니다. 고마워. –