如何根据 django 和 tweepy 中的用户显示推特提要?
How to display twitter feeds based on users in django & tweepy?
我想根据我的推特用户名显示推特数据
模板 (Tweepy),但我不知道如何将数据从我的 models 发送到我的 views.
models.py
的内容是:
<pre>
from django.db import models
from django.conf import settings
User = settings.AUTH_USER_MODEL
# Create your models here.
class Feed(models.Model):
owner = models.ForeignKey(User, on_delete=models.CASCADE)
feed = models.CharField(max_length=211, blank=True, null=True)
twitter = models.CharField(max_length=211, blank=True, null=True) # this is the twitter username which the user can enter and be sent to the views to api.get_user(twitter)
def __str__(self):
return self.feed
</pre>
views.py
的内容是:
<pre>
from django.shortcuts import render
from django.views.generic import TemplateView
from .tweet import *
from .models import Feed
def feed(request):
api = tweepyapi(request)
user = api.get_user(twitter) # I want this portion to be dynamic.
findfriends = user.friends()
return render(request, 'feeds/feeds.html', {
'user': user,
'findfriends': findfriends
})
</pre>
假设您有通过一对一关系与用户模型相关的配置文件模型
class UserProfile(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE, related_name="profile")
twitter_username = models.CharField(max_length=40, blank=True)
def get_absolute_url(self):
context = {
'id':self.id,
}
return reverse("viewprofile", kwargs=context)
并且在您的模板中,我们为用户的个人资料提供 link 作为
{% for user in user_list %}
<a href="{% user.profile.get_absolute_url %}">{{ user.get_full_name }}</a>
{% endfor %}
现在假设您正在传递 get_absolute_url
中的 id
用户,您的 url 将看起来像
url(r'^(?P<id>[0-9]+)/$', views.feed, name="viewprofile")
然后在你看来
def feed(request,id):
profile = get_object_or_404(UserProfile,user__id=id )
api = tweepyapi(request)
user = api.get_user(profile.twitter_username)
findfriends = user.friends()
return render(request, 'feeds/feeds.html', {
'user': user,
'findfriends': findfriends
})
我想根据我的推特用户名显示推特数据 模板 (Tweepy),但我不知道如何将数据从我的 models 发送到我的 views.
models.py
的内容是:
<pre>
from django.db import models
from django.conf import settings
User = settings.AUTH_USER_MODEL
# Create your models here.
class Feed(models.Model):
owner = models.ForeignKey(User, on_delete=models.CASCADE)
feed = models.CharField(max_length=211, blank=True, null=True)
twitter = models.CharField(max_length=211, blank=True, null=True) # this is the twitter username which the user can enter and be sent to the views to api.get_user(twitter)
def __str__(self):
return self.feed
</pre>
views.py
的内容是:
<pre>
from django.shortcuts import render
from django.views.generic import TemplateView
from .tweet import *
from .models import Feed
def feed(request):
api = tweepyapi(request)
user = api.get_user(twitter) # I want this portion to be dynamic.
findfriends = user.friends()
return render(request, 'feeds/feeds.html', {
'user': user,
'findfriends': findfriends
})
</pre>
假设您有通过一对一关系与用户模型相关的配置文件模型
class UserProfile(models.Model):
user = models.OneToOneField(User, on_delete=models.CASCADE, related_name="profile")
twitter_username = models.CharField(max_length=40, blank=True)
def get_absolute_url(self):
context = {
'id':self.id,
}
return reverse("viewprofile", kwargs=context)
并且在您的模板中,我们为用户的个人资料提供 link 作为
{% for user in user_list %}
<a href="{% user.profile.get_absolute_url %}">{{ user.get_full_name }}</a>
{% endfor %}
现在假设您正在传递 get_absolute_url
中的 id
用户,您的 url 将看起来像
url(r'^(?P<id>[0-9]+)/$', views.feed, name="viewprofile")
然后在你看来
def feed(request,id):
profile = get_object_or_404(UserProfile,user__id=id )
api = tweepyapi(request)
user = api.get_user(profile.twitter_username)
findfriends = user.friends()
return render(request, 'feeds/feeds.html', {
'user': user,
'findfriends': findfriends
})