我正在开发一个多语言的网页。

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

那么,如何从/lang/标签中的地址中删除<img>部分?

像这样的东西?

url(r'^(?P<lang>\w{2})/media' = r'^/media/' )


我不知道在哪里做。

最佳答案

两件事情:


您可以将'media/img.jpg'更改为'/media/img.jpg'(请注意斜杠)以使其成为相对于根的url,从而使其始终请求mysite.com/media/img.jpg而不是附加lang标记。
您可以切换到使用Django的static file management,从长远来看,这可能是一个更好的主意。

关于python - 在Django中删除部分网址,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28678769/

10-09 06:07
查看更多