我有一个表单,用户可以添加他的供稿网址,然后查看他之前提交的供稿的文章。 如何更改我的代码以保存Feed的所有者(将其提交到网站的用户)?
models.py:
from django.db import models
from django.contrib.auth.models import User
class Feed(models.Model):
user = models.ManyToManyField(User)
category = models.ManyToManyField(Category)
title = models.CharField(max_length=200)
url = models.URLField()
is_active = models.BooleanField(default=False)
def __unicode__(self):
return self.title
class Article(models.Model):
feed = models.ForeignKey(Feed)
title = models.CharField(max_length=200)
url = models.URLField()
description = models.TextField()
publication_date = models.DateTimeField()
def __unicode__(self):
return self.title
views.py:
from .models import Article, Feed
from django.http import HttpResponse
from .forms import FeedForm
def new_feed(request):
if request.method == "POST":
form = FeedForm(request.POST)
if form.is_valid():
feed = form.save(commit=False)
existingFeed = Feed.objects.filter(url=feed.url)
if len(existingFeed)==0:
feedData = feedparser.parse(feed.url)
feed.title = feedData.feed.title
feed.save()
for entry in feedData.entries:
article = Article()
article.title = entry.title
article.url = entry.link
article.description = entry.description
d = datetime.datetime(*(entry.published_parsed[0:6]))
dateString = d.strftime('%Y-%m-%d %H:%M:%S')
article.publication_date = dateString
article.feed = feed
article.save()
return redirect(feeds_list)
else:
form = FeedForm()
return render(request, 'news/new_feed.html', {'form': form})
forms.py :
from django import forms
from .models import Feed
class FeedForm(forms.ModelForm):
class Meta:
model = Feed
fields = ('url',)
答案 0 :(得分:1)
试试这个
{{1}}