the*_*d47 9 html python django static pythonanywhere
我在pyhtonanywhere上托管了一个django应用程序.该应用程序位于username.pythonanywhere.com/MyApp
.我想提供一个静态的html页面username.pythonanywhere.com
.这可能吗?本质上,它会作为一个索引链接/MyApp
,/MyApp2
以及其他未来应用.
我似乎无法找到有关如何执行此操作的任何信息,但我认为我必须修改mysite/mysite/urls.py
为导航到root目前给我一个404,其中包含有关未能在网址中找到匹配项的消息.
urlpatterns = [
url(r'^/$', ???),
url(r'^admin/', include(admin.site.urls)),
url(r'^MyApp/', indluce('MyApp.urls')).
]
Run Code Online (Sandbox Code Playgroud)
以前是我最好的猜测(我知道这是一个糟糕的猜测).那应该(纠正我,如果我错了)匹配根URL,但我不知道如何说"嘿django只是寻找一个静态文件",或者静态html应该存在的地方,或者如何告诉django它在哪里住.
尽量不要低下头.我是django的新手.
PS我在PA的virtualenv中使用django 1.8
Bra*_*don 11
当然可以.在我只需要渲染模板的情况下,我使用TemplateView.例:
url(r'^$', TemplateView.as_view(template_name='your_template.html'))
Run Code Online (Sandbox Code Playgroud)
我通常会将我的网址格式从最具体到最不具体,以避免意外匹配:
from django.views.generic import TemplateView
urlpatterns = [
url(r'^admin/', include(admin.site.urls)),
url(r'^MyApp/', include('MyApp.urls')),
url(r'^$', TemplateView.as_view(template_name='your_template.html')),
]
Run Code Online (Sandbox Code Playgroud)
就Django寻找模板的地方而言,由你的配置决定告诉Django在哪里看:https://docs.djangoproject.com/en/1.8/topics/templates/#configuration
在 PythonAnywhere 上,您可以使用 Web 应用程序的静态文件工具在静态文件到达 Django 之前为其提供服务:
将一个名为 index.html 的文件放在一个目录中,然后将一个静态文件条目指向该目录。如果静态文件 URL 是 / 并且目录是其中包含 html 文件的目录,则该文件将在 / 处提供。
请注意,您不希望该目录位于任何代码之上,否则您会将代码公开为静态文件,即如果您的代码位于 /somewhere/blah 中,则您不想使用目录 /somewhere/blah /code,你会想把它放在/somewhere/no_code_here