【发布时间】:2017-10-18 21:13:38
【问题描述】:
美好的一天! 我对 Django 很陌生。我的项目包含几个应用程序(目录、部件、注册等),以及 main url.py 的样子:
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'^registration/', include('registration.urls', namespace='registration', app_name='registration')),
url(r'^parts/', include('parts.urls', namespace='parts', app_name='parts')),
url(r'^catalog/', include('catalog.urls', namespace='catalog', app_name='catalog')),
url(r'^$', TemplateView.as_view(template_name='base.html'), name='base'),]
这就是应用程序 urls.py 的外观:
`urlpatterns = [
url(r'^(?P<username>[\w ]+)?$', views.catalog, name='catalog'),
url(r'^transactions/$', views.catalog_transactions, name='catalog_transactions'),`
etc. etc.
在 django testserver 上一切正常,但是当我尝试使用 fcgi+Nginx 运行它时,我遇到了 hypelink 问题。当我单击第一页上的一个超链接时,它会以某种方式保留其地址,而当我尝试单击另一个链接时,它会将其附加到第一个链接。
例如,如果我的第一次点击转到ip_address:port/catalog/,那么该页面上的其他超链接将转换为ip_address:port/catalog/some_page/ 而不是ip_address:port/some_page/
我为模板中的所有超链接使用{% url %} 标签,所以链接看起来像<a href="{% url catalog:some_page %}">Some_page</a>
那,我的 Nginx 配置看起来如何:
`server {
listen 9090 default_server;
server_name mtsk.tools.com;
merge_slashes off;
location / {
fastcgi_pass 127.0.0.1:99;
include fastcgi_params;
}
location /static/ {
root /Django/Parts/;
}}`
Django 版本是 1.8 Nginx 版本是 1.11.10 fcgi 版本是 2.4.0-2
有没有人遇到过类似的问题? 提前致谢)
编辑 我还尝试在该服务器上运行一些测试 django-project,它们运行良好。但是这些项目每个项目只有一个应用程序
【问题讨论】:
标签: python django nginx hyperlink