Merhabalar,
Bir konuda yardımlarınızı ücretli ya da ücretsiz rica edeceğim.
Bir django websitem var. Sitemap yaptım çalışıyor.
Fakat I18N aktif ettiğimde / sitede 4 dil varsa sitemap içine her posttan 4 tane sonuç çıkartıyor. şöyle :
<url>
<loc>http://127.0.0.1:8000/en/post/vote/my_sample_post_english</loc>
<lastmod>2020-05-19</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>http://127.0.0.1:8000/en/post/vote/my_sample_post_turkish</loc>
<lastmod>2020-05-19</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>http://127.0.0.1:8000/en/post/vote/my_sample_post_french</loc>
<lastmod>2020-05-19</lastmod>
<priority>0.5</priority>
</url>
ama ben şu şekilde gelmesini istiyorum
<url>
<loc>http://127.0.0.1:8000/en/post/vote/my_sample_post_english</loc>
<lastmod>2020-05-19</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>http://127.0.0.1:8000/tr/post/vote/my_sample_post_turkish</loc>
<lastmod>2020-05-19</lastmod>
<priority>0.5</priority>
</url>
<url>
<loc>http://127.0.0.1:8000/fr/post/vote/my_sample_post_french</loc>
<lastmod>2020-05-19</lastmod>
<priority>0.5</priority>
</url>
ya da başka bir şekilde filtrelemek. sitemap.py de şöyle bir kod kullanıyorum;
def items(self):
post= Post.objects.filter(private=False, language="en")
return post
şimdi language en olarak filtrelersem sadece en olan içerikler geliyor. ama bende 4 dil var. bunu nasıl diğer dilleri de ekleyerek filtreleyebilirim.
Post.objects.filter(private=False, language="buraya otomatik olarak postun dilini nasıl çekerim ve sonra bir for döngüsüyle onu ekrana basarım?")
models.py içinde dil kısmı language olarak geçiyor
kayıtlar db ye en-tr-fr olaran kaydediliyor.
umarım anlaşılır olmuştur
şimdiden teşekkürler
Django sitemap i post diline göre filtreleme - ÜCRETLİ - ÜCRETSİZ
2
●100
- 06-06-2020, 22:39:17
- 07-06-2020, 19:01:44Kimlik doğrulama veya yönetimden onay bekliyor.selamlar yanlis bilmiyorsam sistem dilini browser header ile iletiyor zaten ve django tarafinda soyle bir kod parcasi ile istekteki dili elde edebiliyorsunuz;
from django.utils import translation translation.get_language_from_request(request)
isinizi gorur diye umuyorum, iyi calismalar. - 08-06-2020, 23:25:52hocam cevap için çok teşekkürler, aslında bu işimi görmüyor. benim db'deki language bölümünü şu kısımda okutmam gerekiyor;ibrahimmdogann adlı üyeden alıntı: mesajı görüntüle
post= Post.objects.filter(private=False, language="burada")
yani ben site/en/ kısmına gittiğimde db içinde en olan postlar filtrelenecek bu şekilde... site/tr/ kısmına gittiğimde de db içindeki tr olanlar filtrelenecek gibi...