在 Django 中删除 url 地址的一部分
Remove a part of url address in Django
我正在开发多语言网页。
url.py
urlpatterns = patterns('',
url(r'^$', 'mysite.views.home', name='home'),
url(r'^(?P<lang>\w{2})/$', 'mysite.views.home')
url(r'^admin/', include(admin.site.urls)),
)
views.py
def home(request,lang='fa'):
language_mapping = {'en': 'en', 'ar': 'ar'}
selected_lang = language_mapping.get(lang, 'fa')
return render_to_response('index.html',{'lang':selected_lang})
在我的 html 中,我有一些 <img>
标签
<img src="media/image.jpg" alt="">
问题是,如果我 运行 我的地址像 mysite.com
,我可以看到图像,但地址像这样
mysite.com/fa/
mysite.com/en/
mysite.com/ar/
让我的图片消失,因为它让我的地址像 mysite.com/en/media/image.jpg
那么我怎样才能从我的 <img>
标签中的地址中删除 /lang/
部分?
也许是这样的?
url(r'^(?P<lang>\w{2})/media' = r'^/media/' )
我不知道在哪里做这个。
您只需要在 HTML 中使用绝对路径即可。
<img src="/media/image.jpg" alt="">
注意前导斜线。
两件事:
您可以将 'media/img.jpg'
更改为 '/media/img.jpg'
(注意前导斜杠)以使其成为相对于根的 url —— 从而使其始终请求mysite.com/media/img.jpg
而不是附加 lang 标签。
您可以切换到使用 Django 的 static file management 无论如何,这在长 运行 中可能是一个更好的主意。
我正在开发多语言网页。
url.py
urlpatterns = patterns('',
url(r'^$', 'mysite.views.home', name='home'),
url(r'^(?P<lang>\w{2})/$', 'mysite.views.home')
url(r'^admin/', include(admin.site.urls)),
)
views.py
def home(request,lang='fa'):
language_mapping = {'en': 'en', 'ar': 'ar'}
selected_lang = language_mapping.get(lang, 'fa')
return render_to_response('index.html',{'lang':selected_lang})
在我的 html 中,我有一些 <img>
标签
<img src="media/image.jpg" alt="">
问题是,如果我 运行 我的地址像 mysite.com
,我可以看到图像,但地址像这样
mysite.com/fa/
mysite.com/en/
mysite.com/ar/
让我的图片消失,因为它让我的地址像 mysite.com/en/media/image.jpg
那么我怎样才能从我的 <img>
标签中的地址中删除 /lang/
部分?
也许是这样的?
url(r'^(?P<lang>\w{2})/media' = r'^/media/' )
我不知道在哪里做这个。
您只需要在 HTML 中使用绝对路径即可。
<img src="/media/image.jpg" alt="">
注意前导斜线。
两件事:
您可以将
'media/img.jpg'
更改为'/media/img.jpg'
(注意前导斜杠)以使其成为相对于根的 url —— 从而使其始终请求mysite.com/media/img.jpg
而不是附加 lang 标签。您可以切换到使用 Django 的 static file management 无论如何,这在长 运行 中可能是一个更好的主意。