Django Views在应用程序启动时保存数据

时间:2015-01-23 21:15:34

标签: python django python-2.7 django-views

我有一个奇怪的问题,我似乎无法弄清楚。 django和python相对较新,但这是我第四个项目的第3个。通过这个项目,我有一个视图,通过发出大约400个http请求来刷新数据库。这需要一段时间,但这很好,它只是很少被称为。 我的问题是每当我启动我的应用程序时,访问存储在另一个导入模块中的代码的视图就会发生这种情况。它正在提出所有这些要求。它保存了所有这些数据。每次我启动我的服务器并向根页面发出请求。我觉得我在这里错过了一些非常明显的东西,但我是自学成才,而且非常难过。我已将我的github链接到他的项目中,但我还会包含一些重要的内容。 https://github.com/heymanitsmematt/CalledIt

---我认为API urls.py导致一切运行缓慢

from django.conf.urls import patterns
from django.views.generic import TemplateView
from views import UpdateMensNCAABasketball
from django.views.decorators.csrf import csrf_exempt

urlpatterns = patterns('api/',
    (r'^ncaabball/$', UpdateMensNCAABasketball.as_view())
)

- 执行繁重任务的API视图

from django.shortcuts import render, render_to_response
from app.models import User, Sport, Event, Party, Prediction
from django.views.generic import TemplateView, View, ListView
from django.http import HttpResponse
import simplejson
from django.views.decorators.csrf import csrf_exempt
from django.core import serializers
from django.template import RequestContext, loader
import requests
from NCAABBallScraper import Scraper, ScheduleScraper
from app.models import Sport, Team, Event, User, Party, Prediction


months = 'Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec'
months = months.split()
def monthGetter(month, months):
    i=1
    for m in months:
    if month == m:
        return i
    else: i += 1

class updateNcaaMensBasketball(View):
    sport = Sport.objects.get_or_create(sport = 'Ncaa Mens Basketball')[0]
    sport.save()
    scraper = Scraper()
    scraper.parse()
    schedScraper = ScheduleScraper(scraper.teams)

- 我的主要应用程序视图,我想要空的网址重定向

from django.conf.urls import patterns, url
from django.views.generic import TemplateView
from app.views import Main 
from django.views.decorators.csrf import csrf_exempt

urlpatterns = patterns('',
    (r'^$', Main.as_view()),
)

- 主项目网址发送文件

from django.conf.urls import patterns, include, url
from django.contrib import admin
from app import urls
from api import urls


urlpatterns = patterns('',
    # Examples:
    # url(r'^$', 'calledit.views.home', name='home'),
    # url(r'^blog/', include('blog.urls')),
    url(r'^', include(app.urls)),
    url(r'^api/', include(api.urls)),
    url(r'^admin/', include(admin.site.urls)),
)

1 个答案:

答案 0 :(得分:2)

updateNcaaMensBasketball视图类中的代码必须在' post'或者'得到'方法或只使用基于功能的视图。

在你的情况下,每次执行类中的代码然后导入类。

抱歉我的英文

Django CBV docs