是否可以在django项目的根目录下提供静态html页面?

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


Gle*_*enn 5

在 PythonAnywhere 上,您可以使用 Web 应用程序的静态文件工具在静态文件到达 Django 之前为其提供服务:

将一个名为 index.html 的文件放在一个目录中,然后将一个静态文件条目指向该目录。如果静态文件 URL 是 / 并且目录是其中包含 html 文件的目录,则该文件将在 / 处提供。

请注意,您不希望该目录位于任何代码之上,否则您会将代码公开为静态文件,即如果您的代码位于 /somewhere/blah 中,则您不想使用目录 /somewhere/blah /code,你会想把它放在/somewhere/no_code_here