2

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

网址.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)),
)

视图.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/' )

我不知道在哪里做这个。

4

2 回答 2

1

您只需要在 HTML 中使用绝对路径。

<img src="/media/image.jpg" alt="">

注意前导斜杠。

于 2015-02-23T16:49:02.490 回答
1

两件事情:

  1. 您可以将 to 更改'media/img.jpg''/media/img.jpg'(注意前导斜杠)以使其成为根相对 url - 从而使其始终请求mysite.com/media/img.jpg而不是附加 lang 标记。

  2. 您可以切换到使用 Django 的静态文件管理,从长远来看,这可能是一个更好的主意。

于 2015-02-23T16:49:37.980 回答