【问题标题】:I'm Working on the RSS Feed in the django but it gives me an Error我正在处理 django 中的 RSS 提要,但它给了我一个错误
【发布时间】:2020-07-05 11:28:19
【问题描述】:

所以你们之前读到的,我正在 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>

我的 READER.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,})


【问题讨论】:

    标签: python html django rss feed


    【解决方案1】:

    我认为您需要将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,})
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-23
      • 2020-07-21
      • 2019-03-09
      • 1970-01-01
      • 2020-11-16
      • 1970-01-01
      相关资源
      最近更新 更多