Reputation: 405
I am displaying some rss feeds using flask-paginate and the pagination works normally but the styling for pagination.links isn't proper , it appears like a bulleted list. There is a similar question on stackoverflow and the answer says to include CSS for bootstrap and I did but still the styling remains the same
Below are the two templates
base.html head part
<head>
<title>{% block title %}{% endblock %}</title>
<link rel="stylesheet" href="{{ url_for('static', filename='stylesheets/style.css') }}">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<link rel="stylesheet" href="{{ url_for('static', filename='stylesheets/bootstrap-social.css') }}">
<link rel="stylesheet" href="{{ url_for('static', filename='font-awesome-4.6.3/css/font-awesome.css') }}">
<!--flask-paginate stylsheet -->
<!--<link rel="stylesheet" href="{{ url_for('static', filename='stylesheets/web.css') }}">-->
<!-- Dependencies for chosen jquery plugin -->
<script src="http://code.jquery.com/jquery-1.8.3.js"></script>
<script src="http://code.jquery.com/ui/1.9.2/jquery-ui.js"></script>
<!-- chosen jquery plugin -->
<script src="{{ url_for('static', filename='chosen/chosen.jquery.js') }}"></script>
<link rel="stylesheet" href="{{ url_for('static', filename='chosen/chosen.css') }}">
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
</head>
index.html
{{ pagination.info }}
{{ pagination.links }}
{% for e in entries_sorted %}
<div class="row">
<div class="col-md-offset-3 col-md-6 feed_item">
<h1><a href="{{ e.link }}">{{ e.title }}</a></h1>
<h5>Published on: {{ e.published }}</h5>
{% for content in e.content %}
{{ content.value|safe }}
</div>
</div>
{% else %}
<p>{{ e.summary_detail.value|safe }}</p>
</div>
</div>
{% endfor %}
{% endfor %}
{{ pagination.links }}
views.py where i am passing pagination object
i = (page-1)*ITEMS_PER_PAGE
entries = entries_sorted[i:i+5]
#entries_paginated = entries_sorted.paginate(page,ITEMS_PER_PAGE,False)
pagination = Pagination(page=page, total=len(entries_sorted),record_name='Feeds',per_page=ITEMS_PER_PAGE)
return render_template('index.html',title='Home Page',entries_sorted=entries,pagination=pagination)
Upvotes: 3
Views: 3249
Reputation: 11
Just to throw in my $0.02. If the accepted answer still isn't working for you, check your bootstrap version.
In my case, I needed to set my css_framework to 'bootstrap4'.
Upvotes: 1
Reputation: 405
Okay this was very silly of me , i got it to work by specifying the css_framework argument to 'bootstrap3' while initialising the pagination object , the docs say that bootstrap is default but seems like you need to specify it explicitly
So, the changes were
pagination = Pagination(page=page,per_page=ITEMS_PER_PAGE,total=len(entries_sorted),record_name='Feeds',css_framework='bootstrap3')
Upvotes: 5