Niyam Shah
Niyam Shah

Reputation: 405

flask-paginate pagination.links styling issue

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

Answers (2)

LstChanceMadrid
LstChanceMadrid

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

Niyam Shah
Niyam Shah

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

Related Questions