给Django添加Google Adsense 要求的ads.txt

作者:陈劲灿 编辑日期: 2019年9月1日 20:37 阅读量: 50 分类: django

最近Google Adsense的广告要求一个可以在根路径访问的ads.txt,我的博客用的是Django于是查了一下资料发现有以下三种方式可以实现。

首先将指定的ads.txt文件下载下来放到服务器上指定路径如/home/yourwebsite/static/ads.txt

通过URL定向到指定的ads.txt文件

先在settings.py中设置好static_url STATIC_URL = "/static/"

然后再url.py中设置重定向

 1.
 2.
 3.
 4.
 5.
 6.
 7.
 8.
 9.
10.
11.
12.
13.
14.
15.
"""equilang URL Configuration
"""
from django.contrib.staticfiles.storage import staticfiles_storage
from django.urls import include, path
from django.views.generic.base import RedirectView
from django.conf import settings
from django.conf.urls.static import static

urlpatterns = [
    //...
    path(
        "ads.txt",
        RedirectView.as_view(url=staticfiles_storage.url("ads.txt")),
    ),
] + static(settings.MEDIA_URL, document_root=settings.MEDIA_ROOT)

通过View的方式定向到url

在view.py中添加以下这些

1.
2.
3.
4.
5.
6.
7.
8.
from django.http import HttpResponse
from django.views import View

class AdsView(View):
    """Replace pub-0000000000000000 with your own publisher ID"""
    line  =  "google.com, pub-0000000000000000, DIRECT, f08c47fec0942fa0"
    def get(self, request, *args, **kwargs):
        return HttpResponse(line)

然后在url.py中添加

1.
2.
3.
4.
5.
6.
7.
from django.urls import path

from myapp.views import AdsView

urlpatterns = [
    path('ads.txt', AdsView.as_view()),
]

通过Nginx设置访问文件

在你的nginx.conf中的server块内添加如下内容

1.
2.
3.
location /ads.txt {
    alias /staticfiles/ads.txt;
}

上一篇
Python2 Python3 共存时pip出现问题的解决方案