Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何将django路径设置为http://127.0.0.1:8000/myproject/admin_Python_Django - Fatal编程技术网

Python 如何将django路径设置为http://127.0.0.1:8000/myproject/admin

Python 如何将django路径设置为http://127.0.0.1:8000/myproject/admin,python,django,Python,Django,这是我的myproject/url.py urlpatterns = [ url(r'^$', index, name='index'), url(r'^admin/', admin.site.urls), url(r'^myapp/', include('myapp.urls')) ] 当我运行python manage.py运行服务器127.0.0.1:8000时 工作正常 但是我想喜欢这个 所有URL甚至模板URL都应该以相同的模式重定向 在这里,我可以将

这是我的myproject/url.py

urlpatterns = [
    url(r'^$', index, name='index'),
    url(r'^admin/', admin.site.urls),
    url(r'^myapp/', include('myapp.urls'))
]

当我运行python manage.py运行服务器127.0.0.1:8000时 工作正常

但是我想喜欢这个

所有URL甚至模板URL都应该以相同的模式重定向

在这里,我可以将路径/设置中的单个更改设置为使用/myproject/重定向以正常工作。以后我可以在一个地方使用/myproject/更改为/project2/

实际上,我是在nginx上运行我的项目

server {
  location / {
                  proxy_pass http://127.0.0.1:8000/;
                  proxy_http_version 1.1;
                  proxy_set_header Upgrade $http_upgrade;
                  proxy_set_header Connection 'upgrade';
                  proxy_set_header Host $host;
                  proxy_cache_bypass $http_upgrade;
          }
is works fine for http://127.0.0.8000/

but where i can set the name in one place like
  location /myname/ {
 ...
}
so that my project will comes under http://127.0.0.8000/myname/myprojet

考虑到将来的更新,最好的方法可能是创建一个相对于
/myproject
路径的新的顶级URL文件,然后导入当前的URL文件。像这样:

urlpatterns = [
   url(r'^myproject/', include('myproject.urls')
]
但是,由于您只想将myproject添加到所有url的开头,而无需自行决定,并且url匹配使用正则表达式,因此您可以执行以下操作:

urlpatterns = [
    url(r'^myproject/$', index, name='index'),
    url(r'^myproject/admin/', admin.site.urls),
    url(r'^myprojet/myapp/', include('myapp.urls'))
]

另一种方法是将root映射到项目,将root映射到应用

像这样:

在项目
url.py
中:

urlpatterns = patterns('',
    url(r'^myproject', include('myproject.urls')), 
)
urlpatterns = patterns('',
    url(r'^$', 'myapp.views.home', name='home'),     # http://127.0.0.1:8000/myproject/myapp
    url(r'^v1/$', 'myapp.views.v1', name='name_1'),  # http://127.0.0.1:8000/myproject/myapp/name_1
    url(r'^v2/$', 'myapp.views.v2', name='name_2'),  # http://127.0.0.1:8000/myproject/myapp/name_2
    url(r'^v3/$', 'myapp.views.v3', name='name_3'),  # http://127.0.0.1:8000/myproject/myapp/name_3
)
如果您打算将新应用添加到项目中,您可以编辑 在
myapp.url.py
中:

urlpatterns = patterns('',
    url(r'^myproject', include('myproject.urls')), 
)
urlpatterns = patterns('',
    url(r'^$', 'myapp.views.home', name='home'),     # http://127.0.0.1:8000/myproject/myapp
    url(r'^v1/$', 'myapp.views.v1', name='name_1'),  # http://127.0.0.1:8000/myproject/myapp/name_1
    url(r'^v2/$', 'myapp.views.v2', name='name_2'),  # http://127.0.0.1:8000/myproject/myapp/name_2
    url(r'^v3/$', 'myapp.views.v3', name='name_3'),  # http://127.0.0.1:8000/myproject/myapp/name_3
)
根据您的django文档,请参见语法:或


希望能有帮助

未解决,如果我们在模板中这样做/每个具有URL的HTML都需要提供myproject/myapp/defname的URL路径,如果我将myproject名称更改为project2,则需要到处替换myproject。但我只需要在一个地方/环境中更改它。