l0n*_*178 4 django disqus django-rest-framework
我是python的新手,所以django.我建立了一个简单的博客,其模型包括"Entry"和"Author".现在,我被告知博客将使用"disqus"进行评论,因此我应该在后端提供一些标识符或站点ID,以便可以使用disqus.我无法弄明白该怎么做.虽然,我通过在Blogger上添加通用代码(由disqus提供)来查看其功能.
我的模特是:
class Author(models.Model):
userName = models.CharField(max_length=50)
displayName=models.CharField(max_length=100)
email = models.EmailField()
def __str__(self):
return self.displayName
class Entry(models.Model):
title = models.CharField(max_length=255)
body = MarkdownField()
image=models.ImageField(upload_to='images',null=True,blank=True)
category=models.ManyToManyField(Category)
createdAt = models.DateTimeField(auto_now_add=True)
updatedAt = models.DateTimeField(auto_now=True)
authors = models.ManyToManyField(Author)
publish=models.BooleanField(default=True)
def __str__(self):
return self.title
class Meta:
verbose_name = "Blog Entry"
verbose_name_plural = "Blog Entries"
ordering = ["-createdAt"]
Run Code Online (Sandbox Code Playgroud)
我的观点是:
class EntryView(viewsets.ModelViewSet):
queryset=Entry.objects.all()
serializer_class=EntrySerializer
lookup_field = 'title'
paginate_by= 6
class AuthorView(viewsets.ModelViewSet):
queryset=Author.objects.all()
serializer_class=AuthorSerializer
Run Code Online (Sandbox Code Playgroud)
如何在我的博客中添加disqus?
在disqus.com上注册并输入您的网站URL(https://www.example.com/)并将您的网站短名称作为examplename.
您需要更改这三个内容,即要加载注释的页面的规范URL,页面标识符和短名称.
标识符需要对每个页面都是唯一的,因此它可以是文章链接的随机数或slug,如下面的示例中所示.
使用您自己的值设置这样的东西:
this.page.url = 'https://www.example.com/blog/{{ article.url }}/';
this.page.identifier ='/{{ article.url }}/';
s.src = '//examplename.disqus.com/embed.js';
Run Code Online (Sandbox Code Playgroud)
然后你需要用你自己的代码替换下面的代码中的这三行,并添加你想要加载Disqus的代码:
<div id="disqus_thread"></div>
<script>
/**
* RECOMMENDED CONFIGURATION VARIABLES: EDIT AND UNCOMMENT THE SECTION BELOW TO INSERT DYNAMIC VALUES FROM YOUR PLATFORM OR CMS.
* LEARN WHY DEFINING THESE VARIABLES IS IMPORTANT: https://disqus.com/admin/universalcode/#configuration-variables*/
var disqus_config = function () {
this.page.url = 'https://www.example.com/blog/{{ article.url }}/';
this.page.identifier ='/{{ article.url }}/';
};
(function() { // DON'T EDIT BELOW THIS LINE
var d = document, s = d.createElement('script');
s.src = '//examplename.disqus.com/embed.js';
s.setAttribute('data-timestamp', +new Date());
(d.head || d.body).appendChild(s);
})();
</script>
<noscript>Please enable JavaScript to view the <a href="https://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3432 次 |
| 最近记录: |