title: Django : "No installed app with label 'flatpages'." with django-markdown
body: <p>I'm trying to add a feature to my Django website that implements articles written with a bit of markdown by an admin.</p>
  <p>I installed django-markdown, and followed this tutorial :
  <a href="http://pythonhosted.org/django-markdown/" rel="nofollow noreferrer">http://pythonhosted.org/django-markdown/</a></p>
  <p>I makemigrations/migrate and runserver and I succeed to reach my website, but when I try to access to the admin interface I get an issue saying :
  <code>No installed app with label 'flatpages'.</code></p>
  <p>Here is the content of my requirements.txt :</p>
  <pre><code>Django==1.7.5
  django-markdown==0.8.4
  Markdown==2.6
  wheel==0.24.0
  </code></pre>
  <p>I assume it is the flatpages from the django_markdown module.
  I tried some things, as adding 'flatpages' to INSTALLED_APPS. but this doesn't fix the problem (and 'django_markdown' is already in it).
  I'm not experienced enough with django to understand what happens in my project and I need some help to understand the issue.
  Could anyone help me, Please?</p>
  <h3>Here are some additionnal informations and files that could be useful :</h3>
  <p><strong>The error :</strong></p>
  <pre><code>Environment:
  
  
  Request Method: GET
  Request URL: http://localhost:8000/admin/
  
  Django Version: 1.7.5
  Python Version: 2.7.3
  Installed Applications:
  ('django.contrib.admin',
   'django.contrib.auth',
   'django.contrib.contenttypes',
   'django.contrib.sessions',
   'django.contrib.messages',
   'django.contrib.staticfiles',
   'django_markdown',
   'main')
  Installed Middleware:
  ('django.contrib.sessions.middleware.SessionMiddleware',
   'django.middleware.common.CommonMiddleware',
   'django.contrib.messages.middleware.MessageMiddleware',
   'django.middleware.csrf.CsrfViewMiddleware',
   'django.contrib.auth.middleware.AuthenticationMiddleware',
   'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
   'django.middleware.clickjacking.XFrameOptionsMiddleware')
  
  
  Traceback:
  File &quot;/home/vmonteco/Envs/django/local/lib/python2.7/site-packages/django/core/handlers/base.py&quot; in get_response
    111.                     response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File &quot;/home/vmonteco/Envs/django/local/lib/python2.7/site-packages/django/contrib/admin/sites.py&quot; in wrapper
    227.                 return self.admin_view(view, cacheable)(*args, **kwargs)
  File &quot;/home/vmonteco/Envs/django/local/lib/python2.7/site-packages/django/utils/decorators.py&quot; in _wrapped_view
    105.                     response = view_func(request, *args, **kwargs)
  File &quot;/home/vmonteco/Envs/django/local/lib/python2.7/site-packages/django/views/decorators/cache.py&quot; in _wrapped_view_func
    52.         response = view_func(request, *args, **kwargs)
  File &quot;/home/vmonteco/Envs/django/local/lib/python2.7/site-packages/django/contrib/admin/sites.py&quot; in inner
    206.             return view(request, *args, **kwargs)
  File &quot;/home/vmonteco/Envs/django/local/lib/python2.7/site-packages/django/views/decorators/cache.py&quot; in _wrapped_view_func
    52.         response = view_func(request, *args, **kwargs)
  File &quot;/home/vmonteco/Envs/django/local/lib/python2.7/site-packages/django/contrib/admin/sites.py&quot; in index
    401.                             'name': apps.get_app_config(app_label).verbose_name,
  File &quot;/home/vmonteco/Envs/django/local/lib/python2.7/site-packages/django/apps/registry.py&quot; in get_app_config
    150.             raise LookupError(&quot;No installed app with label '%s'.&quot; % app_label)
  
  Exception Type: LookupError at /admin/
  Exception Value: No installed app with label 'flatpages'.
  </code></pre>
  <p><strong>hypnose/settings.py :</strong></p>
  <pre><code>&quot;&quot;&quot;
  Django settings for hypnose project.
  
  For more information on this file, see
  https://docs.djangoproject.com/en/1.7/topics/settings/
  
  For the full list of settings and their values, see
  https://docs.djangoproject.com/en/1.7/ref/settings/
  &quot;&quot;&quot;
  
  
  # Build paths inside the project like this: os.path.join(BASE_DIR, ...)
  import os
  BASE_DIR = os.path.dirname(os.path.dirname(__file__))
  
  
  # Quick-start development settings - unsuitable for production
  # See https://docs.djangoproject.com/en/1.7/howto/deployment/checklist/
  
  # SECURITY WARNING: keep the secret key used in production secret!
  SECRET_KEY = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'
  
  # SECURITY WARNING: don't run with debug turned on in production!
  DEBUG = True
  
  TEMPLATE_DEBUG = True
  
  ALLOWED_HOSTS = []
  
  # Template dirs.
  TEMPLATE_DIRS = [
      os.path.join(BASE_DIR, 'templates'),
  ]
  
  # Static dirs.
  STATICFILES_DIRS = (
      os.path.join(BASE_DIR, &quot;static&quot;),
  )
  
  #Email settings
  
  #markdown flatpages
  # import django_markdown
  MARKDOWN_EDITOR_SKIN = 'simple'
  
  # Application definition
  
  INSTALLED_APPS = (
      'django.contrib.admin',
      'django.contrib.auth',
      'django.contrib.contenttypes',
      'django.contrib.sessions',
      'django.contrib.messages',
      'django.contrib.staticfiles',
      'django_markdown',
      # 'django.contrib.flatpages',
      #'django_markdown.flatpages',
      'main',
  )
  
  MIDDLEWARE_CLASSES = (
      'django.contrib.sessions.middleware.SessionMiddleware',
      'django.middleware.common.CommonMiddleware',
      'django.contrib.messages.middleware.MessageMiddleware',
      'django.middleware.csrf.CsrfViewMiddleware',
      'django.contrib.auth.middleware.AuthenticationMiddleware',
      'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
      'django.middleware.clickjacking.XFrameOptionsMiddleware',
  )
  
  ROOT_URLCONF = 'hypnose.urls'
  
  WSGI_APPLICATION = 'hypnose.wsgi.application'
  
  
  # Database
  # https://docs.djangoproject.com/en/1.7/ref/settings/#databases
  
  DATABASES = {
      'default': {
          'ENGINE': 'django.db.backends.sqlite3',
          'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
      }
  }
  
  # Internationalization
  # https://docs.djangoproject.com/en/1.7/topics/i18n/
  
  LANGUAGE_CODE = 'en-us'
  
  TIME_ZONE = 'UTC'
  
  USE_I18N = True
  
  USE_L10N = True
  
  USE_TZ = True
  
  
  # Static files (CSS, JavaScript, Images)
  # https://docs.djangoproject.com/en/1.7/howto/static-files/
  
  STATIC_URL = '/static/'
  </code></pre>
  <p><strong>hypnose/urls.py :</strong></p>
  <pre><code>from django.conf.urls import patterns, include, url
  from django.contrib import admin
  from django_markdown import flatpages
  
  admin.autodiscover()
  flatpages.register()
  
  urlpatterns = patterns('',
      url(r'^admin/', include(admin.site.urls)),
      url('^markdown/', include('django_markdown.urls')),
      url(r'^', include('main.urls')),
  )
  </code></pre>
  <p><strong>main/admin.py :</strong></p>
  <pre><code>from django.contrib import admin
  from main.models import Article
  from django_markdown.admin import MarkdownModelAdmin
  
  admin.site.register(Article, MarkdownModelAdmin)
  </code></pre>
  <p><strong>main/models.py</strong></p>
  <pre><code>from django.db import models
  from django_markdown.models import MarkdownField
  from django_markdown.widgets import MarkdownWidget
  from django import forms
  from django.forms.widgets import *
  
  class Article(models.Model):
      title = models.CharField(max_length = 100)
      # I just changed content from forms.CharField to MarkdownField
      # because this field wasn't appearing in
      # my admin pannel.
      # content = forms.CharField(required = False, widget=MarkdownWidget())
      content = MarkdownField(null = True)
      date = models.DateTimeField(auto_now_add = True, auto_now = False, verbose_name = &quot;Date de parution&quot;)
      slug = models.SlugField(max_length = 50)
  
      def __unicode__(self):
          return (u&quot;%s&quot; % (self.title,))
  
      def __str__(self):
          return (&quot;%s&quot; % (self.title,))
  </code></pre>
  <p>What could it be, and what could I do?<br />
  Thank you for your help. :)</p>
  <p>EDIT:
  Problem solved, but to interpret the markdown in my templates I also had to install django-markdown-deux :<br />
  <a href="https://github.com/trentm/django-markdown-deux" rel="nofollow noreferrer">https://github.com/trentm/django-markdown-deux</a></p>