我刚开始学习Django,我坚持最快,最好的学习方式是通过练习。我正在构建我的第一个网络应用程序,我非常感谢您对以下内容的帮助:
我正努力让前端出现。但我很难理解URLS的工作方式。
我有以下目录:
/myApp
/myApp
/public
/templates
/account
login.html
base.html
settings.py
urls.py
...
/account
urls.py
views.py
我的myApp(主应用)上有这个' urls.py'文件
urlpatterns = patterns('',
...
url(r'^$', include(account.urls), name='account'),
)
在我的帐户urls.py文件中,我已经有了ff:
...
urlpatterns = patterns(
'account.views',
url(r'^$', 'login_user', name='login'),
)
我已经在帐户views.py文件中定义了以下内容:
def login_user(request):
return render(request, 'account/login.html')
所以我想这个请求应该呈现我的login.html文件。
但是我得到了错误,
NameError at /
name 'account' is not defined
因此,我发现我的settings.py文件一定有问题,对吧?
所以这就是它是否有用(只是重要的东西):
...
BASE_DIR = os.path.join(os.path.dirname(__file__), '.')
...
ROOT_URLCONF = 'myApp.urls'
WSGI_APPLICATION = 'myApp.wsgi.application'
TEMPLATE_DIRS = [
os.path.join(BASE_DIR,'templates'),
]
STATIC_ROOT = os.path.join(BASE_DIR,'static')
STATIC_URL = "/static/"
STATICFILES_DIRS = [
os.path.join(BASE_DIR,'public'),
]
现在,我真的需要至少让前端工作。我希望我给你的细节让你知道我现在如何组织我的档案。
附加说明:我想为整个应用创建一个模板目录。正如您在结构中看到的那样,模板文件夹位于主应用程序中。如何在设置中配置它以使应用程序使用主模板文件夹?
答案 0 :(得分:1)
您应该将account.urls
放在引号中。同时从正则表达式中删除$
符号:
url(r'^', include('account.urls')),
在account/urls.py
文件中,您应该将基本模块名称从oauth
更改为acount
(您的视图为account.views.login_user
,而不是oauth.views.login_user
) :
urlpatterns = patterns('account.views',
....
)