简体   繁体   中英

Content of a Django template disappear immediately after rendering

EDIT: The problem was caused by adblocker

I am trying to create an account detail page that shows some attributes of an Account- object. I have a view that is passing the object to be rendered in a template. In Firefox the rendered page doesn't show the attributes at all while in chrome you can see them for a second after which they disappear. I am using Django 1.7.1 and Python 2.7. Thank you in advance!

Here's my code, it is based on the Ultimate Django course material:

views.py:

@login_required()
def account_detail(request, uuid):

    account = Account.objects.get(uuid=uuid)
    if account.owner != request.user:
            return HttpResponseForbidden()

    variables = {
        'account': account,
    }

    return render(request, 'accounts/account_detail.html', variables)

models.py:

class Account(models.Model):
    uuid = ShortUUIDField(unique=True)
    name = models.CharField(max_length=80)
    desc = models.TextField(blank=True)
    address_one = models.CharField(max_length=100)
    address_two = models.CharField(max_length=100, blank=True)
    city = models.CharField(max_length=50)
    state = models.CharField(max_length=2)
    phone = models.CharField(max_length=20)
    owner = models.ForeignKey(User)
    created_on = models.DateField(auto_now_add=True)

    class Meta:
        verbose_name_plural = 'accounts'

    def __unicode__(self):
        return u"%s" % self.name

    @models.permalink
    def get_absolute_url(self):
        return 'account_detail', [self.uuid]

    @models.permalink
    def get_update_url(self):
        return 'account_update', [self.uuid]

    @models.permalink
    def get_delete_url(self):
        return 'account_delete', [self.uuid]

account_detail.html:

{% extends 'base.html' %}

{% block content %}
    <div id="content-container" class="container p-none">
        <div id="ad-container">
            <div id="gi-container" class="ad-container">
                {% include 'accounts/account_item_view.html' %}
            </div>
        </div>
        {# List Contacts #}
        {# List Communications #}
    </div>

{% endblock %}

account_item_view.html:

<div class="gi-header">
    <h3 class="ad-mh">{{ account.name }}
        {# Account Edit Link #}
        <span>
            <a class="ad-control edit-account btn btn-link"
               href="">Edit</a>
        </span>
    </h3>

</div>
<div class="row gi-body">
    <div class="col-md-9">
        <h5 class="gi-sh">Description</h5>
        <p>{{ account.desc }}</p>
    </div>
    <div class="col-md-3">
        <h5 class="gi-sh">Address</h5>
        <p class="nm">{{ account.address_one }}</p>
        <p class="nm">{{ account.address_two }}</p>
        <p class="nm">{{ account.city}}, {{ account.state }}</p>
        <p class="nm">{{ account.phone}}</p>
    </div>
</div>

Edit: This is the rendered html and it seems to be correct

<!DOCTYPE html>
<html>

    <head>
        <title>Home  | CRM Easy</title>

            <link rel="icon" type="image/png"
                  href="/static/images/favicon.ico">



                <meta http-equiv="Content-Type"
                      content="text/html; charset=utf-8" />


                <meta http-equiv="Content-Language" value="en-US" />


                <meta name="viewport"
                      content="width=device-width, initial-scale=1.0">


        <!--


                <link href="/static/css/bootstrap.min.css"
                      rel="stylesheet" media="screen">
                <link href="/static/css/app.css"
                      rel="stylesheet" media="screen">




        -->
    </head>
    <body>

        <header>
            <div class="navbar navbar-default navbar-static-top
            ">
                <div class="container p-none">
                    <div class="navbar-header">
                        <button type="button" class="navbar-toggle"
                                data-toggle="collapse"
                                data-target=".navbar-collapse">
                            <span class="icon-bar"></span>
                            <span class="icon-bar"></span>
                            <span class="icon-bar"></span>
                        </button>
                        <a class="navbar-brand" href="/">CRM Easy</a>
                    </div>
                    <div class="collapse navbar-collapse">
                        <ul class="nav navbar-nav navbar-right">

                                <li><a href="/logout/">Logout</a></li>
                                <li><a href="/account/list/"
                                       class="p-r-none">Accounts</a></li>

                        </ul>
                    </div>
                </div>
            </div>
        </header>

        <div id="site-wrapper">

    <div id="content-container" class="container p-none">
        <div id="ad-container">
            <div id="gi-container" class="ad-container">
                <div class="gi-header">
    <h3 class="ad-mh">Test Account

        <span>
            <a class="ad-control edit-account btn btn-link"
               href="">Edit</a>
        </span>
    </h3>

</div>
<div class="row gi-body">
    <div class="col-md-9">
        <h5 class="gi-sh">Description</h5>
        <p>This is merely a test account for testing purposes</p>
    </div>
    <div class="col-md-3">
        <h5 class="gi-sh">Address</h5>
        <p class="nm">Test Street 1</p>
        <p class="nm"></p>
        <p class="nm">Test City, TE</p>
        <p class="nm">044 666 7777</p>
    </div>
</div>

            </div>
        </div>


    </div>


        </div>

        <div class="footer">
            <div class="container">
                <p>Copyright CRM Easy</p>
            </div>
        </div>
    </body>

    <!--


            <script src="/static/js/jquery.min.js"></script>
            <script src="/static/js/bootstrap.min.js"></script>
            <script src="/static/js/app.js"></script>




    -->
</html>

The problem is the class ad-container . AdBlock thinks the element contains an ad and removes it. Renaming the class will prevent that issue.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM