.. _faq-admin: FAQ: The admin ============== I can't log in. When I enter a valid username and password, it just brings up the login page again, with no error messages. --------------------------------------------------------------------------------------------------------------------------- The login cookie isn't being set correctly, because the domain of the cookie sent out by Django doesn't match the domain in your browser. Try these two things: * Set the ``SESSION_COOKIE_DOMAIN`` setting in your admin config file to match your domain. For example, if you're going to "http://www.example.com/admin/" in your browser, in "myproject.settings" you should set ``SESSION_COOKIE_DOMAIN = 'www.example.com'``. * Some browsers (Firefox?) don't like to accept cookies from domains that don't have dots in them. If you're running the admin site on "localhost" or another domain that doesn't have a dot in it, try going to "localhost.localdomain" or "127.0.0.1". And set ``SESSION_COOKIE_DOMAIN`` accordingly. I can't log in. When I enter a valid username and password, it brings up the login page again, with a "Please enter a correct username and password" error. ----------------------------------------------------------------------------------------------------------------------------------------------------------- If you're sure your username and password are correct, make sure your user account has ``is_active`` and ``is_staff`` set to True. The admin site only allows access to users with those two fields both set to True. How can I prevent the cache middleware from caching the admin site? ------------------------------------------------------------------- Set the :setting:`CACHE_MIDDLEWARE_ANONYMOUS_ONLY` setting to ``True``. See the :ref:`cache documentation ` for more information. How do I automatically set a field's value to the user who last edited the object in the admin? ----------------------------------------------------------------------------------------------- At this point, Django doesn't have an official way to do this. But it's an oft-requested feature, so we're discussing how it can be implemented. The problem is we don't want to couple the model layer with the admin layer with the request layer (to get the current user). It's a tricky problem. One person hacked up a `solution that doesn't require patching Django`_, but note that it's an unofficial solution, and there's no guarantee it won't break at some point. .. _solution that doesn't require patching Django: http://lukeplant.me.uk/blog.php?id=1107301634 How do I limit admin access so that objects can only be edited by the users who created them? --------------------------------------------------------------------------------------------- See the answer to the previous question. My admin-site CSS and images showed up fine using the development server, but they're not displaying when using mod_python. --------------------------------------------------------------------------------------------------------------------------- See :ref:`serving the admin files `` tag. If you want more flexibility than simply tweaking the auto-generated forms, feel free to write custom views for the admin. The admin is powered by Django itself, and you can write custom views that hook into the authentication system, check permissions and do whatever else they need to do. If you want to customize the look-and-feel of the admin interface, read the next question. The dynamically-generated admin site is ugly! How can I change it? ------------------------------------------------------------------ We like it, but if you don't agree, you can modify the admin site's presentation by editing the CSS stylesheet and/or associated image files. The site is built using semantic HTML and plenty of CSS hooks, so any changes you'd like to make should be possible by editing the stylesheet. We've got a :ref:`guide to the CSS used in the admin ` to get you started. How do I create users without having to edit password hashes? ------------------------------------------------------------- If you'd like to use the admin site to create users, upgrade to the Django development version, where this problem was fixed on Aug. 4, 2006. You can also use the Python API. See :ref:`creating users ` for full info.