1

I have an application deployed at http://opencalaccess.org/ccdc/latest/

This is a colo running Ubuntu 14.04 LTS.

If you hit this, you may get a blank page that says "Server Error (500)" and nothing else. You may get a NoReverseMatch exception. If you continue to fetch on that URL, it will work. It may take 3 times, but it seems to take no more than 5 attempts. And it always works, eventually.

Weird.

I depend on two packages I am building. I moved them around several times and now that are at:

/usr/local/lib/python2.7/dist-packages

and

$ cat wsgi.py

import os
import sys

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "ccdc.settings")

sys.path.append('/var/www/opencalaccess_org/ccdc')
sys.path.append('/var/www/opencalaccess_org')

from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()

I did not have to change my settings.py file.

$ cat urls.py
from django.conf.urls import patterns, include, url
from django.conf import settings
from django.contrib import admin
admin.autodiscover()

urlpatterns = patterns('',
    url(r'^', include('calaccess_campaign_browser.urls')),
    url(r'^admin/', include(admin.site.urls)),
    url(r'^static/(?P<path>.*)$', 'django.views.static.serve', {
        'document_root': settings.STATIC_ROOT,
        'show_indexes': True,
    }),
)

What should I look at here? Any suggestions? Other entry points have the same problem. And then they work also.

from the /var/www/opencalaccess_org/ccdc/settings.py file:

INSTALLED_APPS = (
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'django.contrib.humanize',
    'calaccess_raw',
    'calaccess_campaign_browser',
    'tastypie',
)

and

$ cat /usr/local/lib/python2.7/dist-packages/calaccess_campaign_browser/urls.py
from django.conf.urls import patterns, include, url
from tastypie.api import Api
from django.views.generic.base import RedirectView
from calaccess_campaign_browser.api import FilerResource, FilingResource
from calaccess_campaign_browser import views
from calaccess_campaign_browser.views import search
from calaccess_campaign_browser.views import identities
from django.views.generic import TemplateView

# Set up the endpoints for the REST service.
#
# Usage:
#
#    http://<hostname>:<port>//api/v1/
#    http://<hostname>:<port>//api/v1/filer/
#    http://<hostname>:<port>//api/v1/filing/?filing_id_raw=1852192'
#
v1_api = Api(api_name='v1')
v1_api.register(FilerResource())
v1_api.register(FilingResource())

# Set up the endpoints for the web application.
#
urlpatterns = patterns(
    '',
    url(r'^$', RedirectView.as_view(url='/latest/', permanent=False)),
    url(
        r'^latest/$',
        views.LatestFilingView.as_view(),
        name='latest_list'
    ),
    url(
        r'^filers/$',
        RedirectView.as_view(url='/filers/1/', permanent=False),
        name="filer_list"
    ),
    url(
        r'^filers/(?P<page>[\d+]+)/$',
        views.FilerListView.as_view(),
        name='filer_page'
    ),
    url(
        r'^filer/(?P<pk>\d+)/$',
        views.FilerDetailView.as_view(),
        name='filer_detail'
    ),
    url(
        r'^committee/(?P<pk>\d+)/contributions/(?P<page>[\d+]+)/$',
        views.CommitteeContributionView.as_view(),
        name='committee_contribution_list',
    ),
    url(
        r'^committee/(?P<pk>\d+)/expenditures/(?P<page>[\d+]+)/$',
        views.CommitteeExpenditureView.as_view(),
        name='committee_expenditure_list',
    ),
    url(
        r'^committee/(?P<pk>\d+)/filings/(?P<page>[\d+]+)/$',
        views.CommitteeFilingView.as_view(),
        name='committee_filing_list',
    ),
    url(
        r'^committee/(?P<pk>\d+)/$',
        views.CommitteeDetailView.as_view(),
        name='committee_detail'
    ),
    url(
        r'^filing/(?P<pk>\d+)/$',
        views.FilingDetailView.as_view(),
        name='filing_detail'
    ),
    url(
        r'^contribution/(?P<pk>\d+)/$',
        views.ContributionDetailView.as_view(),
        name='contribution_detail'
    ),
    url(
        r'^expenditure/(?P<pk>\d+)/$',
        views.ExpenditureDetailView.as_view(),
        name='expenditure_detail',
    ),
    url(r'^search/$', search.SearchList.as_view(), name='search-list'),
    url(
        r'^search/contribs-by-name/$',
        search.search_contribs_by_name,
        name='search-contribs-by-name'
    ),
    url(
        r'^parties/$',
        views.PartyListView.as_view(),
        name='party_list'
    ),
    url(
        r'^identities/$',
        identities.IdentitiesList.as_view(),
        name='identities-list'
    ),
    url(
        r'^identities/identities-by-name/$',
        identities.search_identities_by_name,
        name='search-identities-by-name'
    ),

    # API
    url(r'^api/', include(v1_api.urls)),

    url(
        r'^robots\.txt$',
        TemplateView.as_view(
            template_name='robots.txt',
            content_type='text/plain')
    ),
)
Ray Kiddy
  • 3,521
  • 3
  • 25
  • 32
  • Can you show the `calaccess_campaign_browser/urls.py` file ? 2 more things - do you have the package `calaccess_campaign_browser` in `INSTALLED_APPS` ? and do you have an `__init__.py` in `calaccess_campaign_browser` ? – karthikr May 13 '15 at 23:57
  • Yes, there is an __init__.py file in the deployed calaccess_campaign_browser app. And yes, it is in INSTALLED_APPS. See above. And see above for the calaccess_campaign_browser/urls.py file also. – Ray Kiddy May 14 '15 at 00:08

0 Answers0