Django - 网站在localhost上运行,在Ubuntu服务器

时间:2018-01-28 13:34:16

标签: python django nginx ubuntu-16.04

我使用Django,Gunicorn和Nginx在线运行项目。我目前正在尝试通过添加新的URL模式和页面来更新网站,供用户查看。

但是,这会在线时返回NoReverseMatch错误,但在本地,Django不会返回任何错误。只有在HTML文件调用我最近添加的命名空间时才会出现此错误(即此URL不在网站的初始部署中)。

NoReverseMatch at /
Reverse for 'team' not found. 'team' is not a valid view function or pattern name.

虽然我已在文件中明确指定了此网址和查看功能。

谢谢!

编辑:我正在使用名称空间...... .html文件:

<a href='{% url "team" %}'>team</a>

urls.py:

url_patterns = [
   ...
   url(r'/team/$', views.team, name='team'
   ...
]

views.py:

def team(request):
    return render(request, 'team.html', {})

3 个答案:

答案 0 :(得分:0)

看起来像命名空间问题,只需清理pyc文件,这个Link可以帮到你。

答案 1 :(得分:0)

除非你的主urls.py中有另一个命名空间,否则这应该有效。

$array = [2,3,4];

$insert_where_array = array_map(function($e) {
  return "('', $e)";
},$array);

$insert_where_array_str = implode($insert_where_array, ",");

$sql = mysqli_query($con, "Insert INTO search_action (id, industry) VALUE {insert_where_array_str}");

在这种情况下,如果你这样做,你会有这样的错误

#main urls.py
url_patterns = [
   ...
   url(r'^club/', include('club.urls', namespace='club')),
   ...
]

#club urls.py
url_patterns = [
   ...
   url(r'/team/$', views.team, name='team'
   ...
]
相反,你必须这样做

<a href='{% url "team" %}'>team</a> 

答案 2 :(得分:-1)

当你想渲染类似的东西时,尝试使用app_name: app_name =&#39; team_list&#39;

url_patterns = [    ...    url(r&#39; / team / $&#39;,views.team,name =&#39; team&#39;    ... ] 然后,在a标签中,试试这个:团队