django 站点地图 http ://example. com

标签 django sitemap

对不起我的英语不好,但我不是英语!

我尝试用我的 django 项目生成一个 sitemap.xml。

在我的项目中,我没有模型(我的数据库是空的),我只有静态 url(比如 'home' 或 'About' )。

我成功生成了一个 sitemap.xml,但我有“http://example.com”而不是我的域名。

这是我的 sitemap.xml:

<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>
http://example.com/accueil
</loc>
<lastmod>
2013-03-14
</lastmod>
<changefreq>
weekly
</changefreq>
</url>
<url>
<loc>
http://example.com/cv
</loc>
<lastmod>
2013-03-14
</lastmod>
<changefreq>
weekly
</changefreq>
</url>
<url>
<loc>
http://example.com/portfolio
</loc>
<lastmod>
2013-03-14
</lastmod>
<changefreq>
weekly
</changefreq>
</url>
<url>
<loc>
http://example.com/a_propos
</loc>
<lastmod>
2013-03-14
</lastmod>
<changefreq>
weekly
</changefreq>
</url>
</urlset>

和我的 urls.py:
from django.conf.urls import patterns, include, url
from django.conf import settings
from django.contrib.staticfiles.urls import staticfiles_urlpatterns
from django.conf.urls.static import static

from sitemaps import BasicSitemap
# Uncomment the next two lines to enable the admin:
# from django.contrib import admin
# admin.autodiscover()

sitemaps= {
    'pages' : BasicSitemap(['accueil','cv','portfolio','apropos'])
}

urlpatterns = patterns('',
    # Examples:
    # url(r'^$', 'portfolio.views.home', name='home'),
    # url(r'^portfolio/', include('portfolio.foo.urls')),

    # Uncomment the admin/doc line below to enable admin documentation:
    # url(r'^admin/doc/', include('django.contrib.admindocs.urls')),

    # Uncomment the next line to enable the admin:
    # url(r'^admin/', include(admin.site.urls)),
    url(r'^', include('portail_portfolio.urls')),
    url(r'^sitemap\.xml$', 'django.contrib.sitemaps.views.sitemap', {'sitemaps': sitemaps})

)
urlpatterns += staticfiles_urlpatterns() + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

还有我的sitemaps.py:
from django.contrib.sitemaps import Sitemap
from django.core.urlresolvers import reverse
#from portail_portfolio.models import Entry

from datetime import datetime

class BasicSitemap(Sitemap):

    def __init__(self, names):
        self.names = names

    def items(self):
        return self.names

    def changefreq(self, obj):
        return 'weekly'

    def lastmod(self, obj):
        return datetime.now()

    def location(self,obj):
        return reverse(obj)

我希望你能理解我的英语,我希望你能帮助我!

亲切地,

寿司

最佳答案

django.contrib.sitemaps依赖 django.contrib.sites .

进入您的管理部分 /admin/sites/site/1/并更改您在那里看到的域名。

关于django 站点地图 http ://example. com,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15402622/

相关文章:

python - django 社交登录中来自 GitHub 的用户电子邮件

python - 如何使用 django 在生产服务器上修复模板不存在错误?

php - 使用户无法访问 'sitemap.xml',但机器人可以访问

localization - 如何将特定于位置的网址添加到站点地图?

seo - 网站站点地图和 <priority>,是否有效?

Django 休息框架 : Add hyperlink related field on sub model

python - Django: `sys.path` 应该是什么?

python - Django 从数据库中获取数据的表单

xml - 自动站点地图.xml

php - 在 Laravel 文件夹结构中添加 sitemap.xml 的位置