我正在 django 中的 RSS 提要上工作,但它给了我一个错误



所以伙计们,正如你之前读到的,我正在django中研究RSS Fedd。 我已经完成了所有代码,但是当我输入任何提要的 URL 时,它给了我和错误相关的,说你的代码给了 None 而不是 HttpResponse,我不知道如何解决这个问题,请帮助我。 任何帮助都将得到赞赏。

我的 HTML 代码用于基本 HTML==

<!DOCTYPE html>
<head>
<title>Django RSS Reader</title>
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.2/js/bootstrap.min.js"></script>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.2/css/bootstrap.min.css">
</head>
<nav class="navbar navbar-expand-sm bg-dark navbar-dark">
<ul class="navbar-nav">
<li class="nav-item active">
<a class="nav-link" href="/">Home</a>
</ul>
</nav>
<body>
{% block content %}
{% endblock %}
</body>
</html>

我的 HTML 代码用于阅读器.HTML页面

{% extends 'reader/base.html' %}
{% block content %}
<br/>
<form class="form-inline">
<div class="form-group mx-sm-3 mb-2">
<label for="inputPassword2" class="sr-only">Password</label>
<input type="text" class="form-control" placeholder="paste link" name="url">
</div>
<button type="submit" class="btn btn-primary mb-2">Search</button>
</form>
{% if feed %}
<h2>{{ feed.feed.title }}</h2>
{% if feed.entries %}
{% for entry in feed.entries %}
<div class="card">
<div class="card-header">
Feed
</div>
<div class="card-body">
<h5 class="card-title">Headline: {{ entry.title }}</h5>
<p class="card-text">Description: {{ entry.description }}</p>
<a href="{{ entry.link }}" class="btn btn-primary">Visit Link</a>
</div>
</div>
<p>{{ entry.published }}</p>
{% endfor %}
{% endif %}
{% else %}
<br/>
<p>Enter your favorite RSS feed above.</p>
{% endif %}
{{ feed2 }}
{% endblock %}

我的网址代码

from django.contrib import admin
from django.urls import path,include
from reader.feeds import LatestEntriesFeed
urlpatterns = [
path('admin/', admin.site.urls),
path('', include('reader.urls')),
path(r'feed/', LatestEntriesFeed()),
]

我的视图代码

from django.shortcuts import render
from django.http import HttpResponse
# Create your views here.
import feedparser
def index(request):
if request.GET.get('url'):
url = request.GET['url'] #Getting URL
feed = feedparser.parse(url) #Parsing XML data
else:
feed = None
return render(request, 'reader/reader.html', {'feed' : feed,})

我认为您需要将return移出else块,以便在if块通过时函数可以返回一些内容。

def index(request):
if request.GET.get('url'):
url = request.GET['url'] #Getting URL
feed = feedparser.parse(url) #Parsing XML data
else:
feed = None
# HERE
return render(request, 'reader/reader.html', {'feed' : feed,})

相关内容

最新更新