关于python:使用Django和a2服务器将视图链接到网页

Linking views to webpage with Django and a2 servers

我希望有人能帮我解决这个问题,因为这个问题看起来很简单,但过去几个小时我一直在努力解决这个问题,没有得到任何安慰。好的,我按照A2的托管指南设置了django。

我只是无法与views.py文件通信。

让我给你看一些文件,因为我希望它只是一些公然的错误。

public_html/mysite/mysite/setup.py:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
INSTALLED_APPS = (
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'nfl'
)

DATABASES = {
'default': {
    'ENGINE': 'django.db.backends.postgresql_psycopg2',
    'NAME': '*******',
    'USER': '*******',
    'PASSWORD': '***',
    'HOST': '',
    'PORT': '5432',
}
}
STATIC_URL = '/static/'
TEMPLATE_DIRS = (
   "nfl/templates",

)

public_html/mysite/mysite/urls.py:

1
2
3
4
5
6
7
8
from django.conf.urls import include, url
from django.contrib import admin

urlpatterns = [
url(r'^admin/', include(admin.site.urls)),
url(r'^home/', 'nfl.views.home', name='home'),

]

public_html/mysite/nfl/views.py:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
from django.shortcuts import render_to_response
import nfldb
import requests
# Create your views here.
def home(request):
    db = nfldb.connect()
    q = nfldb.Query(db)
    year = request.GET['year']
    if year is none:
            year = 2014


    q.game(season_year=year, season_type='Regular')
    qb = []
    for pp in q.sort('passing_yds').limit(10).as_aggregate():
            qb.append(pp)
    return render_to_response('index.html', {'qb' : qb})

public_html/mysite/nfl/templates/index.html:

1
just a helloworld html file to test

HTAccess:

1
2
3
4
5
6
7
AddHandler fcgid-script .fcgi
RewriteEngine on
# Set up static content redirect:
RewriteRule static/(.+)$ mysite/public/static/$1
# The following two lines are for FastCGI:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ application.fcgi/$1 [QSA,L]

当我进入我的领域时,我只会在你的第一个django应用页面上得到基本的祝贺。

那么我在这里错过了什么?我从本地机器上复制了大部分内容,因为它在本地主机上与Django runserver一起工作,但现在我似乎无法链接我的视图。

如果需要其他信息,或者有更好的网站可以访问,请告诉我。

我的设置:

  • Python:2.7
  • Django:1.85


如果您转到domain.com,那么将显示"恭喜您的第一个django应用程序"页面,因为在urls.py中,您确实指定了

1
url(r'^')

为了不显示此页面,而显示index.html页面,应该这样做

1
2
3
urlpatterns = [
    url(r'^', 'nfl.views.home', name='home'),
]