<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="FeedCreator 1.8" -->
<?xml-stylesheet href="https://wikiprogramming.alfredgg.dev/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="https://wikiprogramming.alfredgg.dev/feed.php">
        <title>Programming wiki2:python:django</title>
        <description></description>
        <link>https://wikiprogramming.alfredgg.dev/</link>
        <image rdf:resource="https://wikiprogramming.alfredgg.dev/lib/tpl/dokuwiki/images/favicon.ico" />
       <dc:date>2026-05-13T10:25:58+0000</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="https://wikiprogramming.alfredgg.dev/doku.php?id=wiki2:python:django:admin&amp;rev=1589016310&amp;do=diff"/>
                <rdf:li rdf:resource="https://wikiprogramming.alfredgg.dev/doku.php?id=wiki2:python:django:apps&amp;rev=1609420846&amp;do=diff"/>
                <rdf:li rdf:resource="https://wikiprogramming.alfredgg.dev/doku.php?id=wiki2:python:django:auth&amp;rev=1589016310&amp;do=diff"/>
                <rdf:li rdf:resource="https://wikiprogramming.alfredgg.dev/doku.php?id=wiki2:python:django:forms&amp;rev=1589016310&amp;do=diff"/>
                <rdf:li rdf:resource="https://wikiprogramming.alfredgg.dev/doku.php?id=wiki2:python:django:models&amp;rev=1589016310&amp;do=diff"/>
                <rdf:li rdf:resource="https://wikiprogramming.alfredgg.dev/doku.php?id=wiki2:python:django:others&amp;rev=1604175392&amp;do=diff"/>
                <rdf:li rdf:resource="https://wikiprogramming.alfredgg.dev/doku.php?id=wiki2:python:django:project&amp;rev=1612809916&amp;do=diff"/>
                <rdf:li rdf:resource="https://wikiprogramming.alfredgg.dev/doku.php?id=wiki2:python:django:sites&amp;rev=1589016310&amp;do=diff"/>
                <rdf:li rdf:resource="https://wikiprogramming.alfredgg.dev/doku.php?id=wiki2:python:django:templates&amp;rev=1589016310&amp;do=diff"/>
                <rdf:li rdf:resource="https://wikiprogramming.alfredgg.dev/doku.php?id=wiki2:python:django:tests&amp;rev=1598713904&amp;do=diff"/>
                <rdf:li rdf:resource="https://wikiprogramming.alfredgg.dev/doku.php?id=wiki2:python:django:urls&amp;rev=1589016310&amp;do=diff"/>
                <rdf:li rdf:resource="https://wikiprogramming.alfredgg.dev/doku.php?id=wiki2:python:django:views&amp;rev=1589016310&amp;do=diff"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="https://wikiprogramming.alfredgg.dev/lib/tpl/dokuwiki/images/favicon.ico">
        <title>Programming</title>
        <link>https://wikiprogramming.alfredgg.dev/</link>
        <url>https://wikiprogramming.alfredgg.dev/lib/tpl/dokuwiki/images/favicon.ico</url>
    </image>
    <item rdf:about="https://wikiprogramming.alfredgg.dev/doku.php?id=wiki2:python:django:admin&amp;rev=1589016310&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-05-09T09:25:10+0000</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Django Admin</title>
        <link>https://wikiprogramming.alfredgg.dev/doku.php?id=wiki2:python:django:admin&amp;rev=1589016310&amp;do=diff</link>
        <description>Django Admin

Basic

To create a super user: $ python manage.py createsuperuser

Registrar clases


from django.contrib import admin
from catalog.models import Author, Genre, Book, BookInstance

admin.site.register(Book)
admin.site.register(Author)
admin.site.register(Genre)
admin.site.register(BookInstance)</description>
    </item>
    <item rdf:about="https://wikiprogramming.alfredgg.dev/doku.php?id=wiki2:python:django:apps&amp;rev=1609420846&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-12-31T13:20:46+0000</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Django Apps</title>
        <link>https://wikiprogramming.alfredgg.dev/doku.php?id=wiki2:python:django:apps&amp;rev=1609420846&amp;do=diff</link>
        <description>Django Apps

Launch something when app starts


from django.apps import AppConfig


class UsersConfig(AppConfig):
    name = 'users'

    def ready(self):
        # TODO: This should be placed into a global app, meanwhile having it here is (more-or-less) fine
        # This ensures the SECRET_KEY has not been published on a git repo by checking the dev key
        from django.conf import settings
        from importlib import import_module
        assert hasattr(settings, 'DEV_SETTINGS_MODULE'),…</description>
    </item>
    <item rdf:about="https://wikiprogramming.alfredgg.dev/doku.php?id=wiki2:python:django:auth&amp;rev=1589016310&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-05-09T09:25:10+0000</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Django Authentication</title>
        <link>https://wikiprogramming.alfredgg.dev/doku.php?id=wiki2:python:django:auth&amp;rev=1589016310&amp;do=diff</link>
        <description>Django Authentication

How to...

Login and logout a user


from django.contrib.auth import login
login(request, user)


Take and set the users model

Set the auth model in settings:


AUTH_USER_MODEL = 'users.BaseUser'


Take the auth model:


from django.contrib.auth import get_user_model
get_user_model().objects.get(token=token)</description>
    </item>
    <item rdf:about="https://wikiprogramming.alfredgg.dev/doku.php?id=wiki2:python:django:forms&amp;rev=1589016310&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-05-09T09:25:10+0000</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Django Forms</title>
        <link>https://wikiprogramming.alfredgg.dev/doku.php?id=wiki2:python:django:forms&amp;rev=1589016310&amp;do=diff</link>
        <description>Django Forms

Render a form


  &lt;form method=&quot;post&quot;&gt;
    {% csrf_token %}
    {{ form.as_p }}
    &lt;button type=&quot;submit&quot;&gt;Sign up&lt;/button&gt;
  &lt;/form&gt;



&lt;form method=&quot;post&quot; novalidate&gt;
  {% csrf_token %}
  {{ form }}
  &lt;button type=&quot;submit&quot;&gt;Submit&lt;/button&gt;
&lt;/form&gt;</description>
    </item>
    <item rdf:about="https://wikiprogramming.alfredgg.dev/doku.php?id=wiki2:python:django:models&amp;rev=1589016310&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-05-09T09:25:10+0000</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Django Models</title>
        <link>https://wikiprogramming.alfredgg.dev/doku.php?id=wiki2:python:django:models&amp;rev=1589016310&amp;do=diff</link>
        <description>Django Models

Migrations


$ python manage.py makemigrations &lt;app&gt;


Will create migration files for all the apps if the app was not indicated.


$ python manage.py migrate


Will apply migrations to the configured DB.

Signals

Ways to connect signals</description>
    </item>
    <item rdf:about="https://wikiprogramming.alfredgg.dev/doku.php?id=wiki2:python:django:others&amp;rev=1604175392&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-10-31T20:16:32+0000</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Other things for Django</title>
        <link>https://wikiprogramming.alfredgg.dev/doku.php?id=wiki2:python:django:others&amp;rev=1604175392&amp;do=diff</link>
        <description>Other things for Django

Messages

	*  Messages framework

Sessions

Add this to the config:


INSTALLED_APPS = [
    ...
    'django.contrib.sessions',
    ....

MIDDLEWARE = [
    ...
    'django.contrib.sessions.middleware.SessionMiddleware',
    ....


To use them:</description>
    </item>
    <item rdf:about="https://wikiprogramming.alfredgg.dev/doku.php?id=wiki2:python:django:project&amp;rev=1612809916&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2021-02-08T18:45:16+0000</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Preparing a Django project</title>
        <link>https://wikiprogramming.alfredgg.dev/doku.php?id=wiki2:python:django:project&amp;rev=1612809916&amp;do=diff</link>
        <description>Preparing a Django project

Pipeline



poetry init

poetry add django

poetry run django-admin startproject {project} .

- fix directory generation -

touch README.md

- copy the .gitignore -

git init

git add -A 

git commit -m &quot;first commit&quot;

git remote add origin {url}

git push -u origin master

- move settings to an inner package, renaming the file to 'default.py' -

- Add a develop.py file -

- In settings\__init__.py and in settings\develop.py add the line: from .default import * a

- C…</description>
    </item>
    <item rdf:about="https://wikiprogramming.alfredgg.dev/doku.php?id=wiki2:python:django:sites&amp;rev=1589016310&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-05-09T09:25:10+0000</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Sites framework</title>
        <link>https://wikiprogramming.alfredgg.dev/doku.php?id=wiki2:python:django:sites&amp;rev=1589016310&amp;do=diff</link>
        <description>Sites framework

	*  &lt;https://docs.djangoproject.com/en/3.0/ref/contrib/sites&gt;

Based on the Site class which its important attribute is domain that specifies the domain name of the site.

Usage

	*  Add django.contrib.sites to your INSTALLED_APPS setting.
	*  Define a SITE_ID setting: SITE_ID = 1
	*  Run migrate.</description>
    </item>
    <item rdf:about="https://wikiprogramming.alfredgg.dev/doku.php?id=wiki2:python:django:templates&amp;rev=1589016310&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-05-09T09:25:10+0000</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Django Templates</title>
        <link>https://wikiprogramming.alfredgg.dev/doku.php?id=wiki2:python:django:templates&amp;rev=1589016310&amp;do=diff</link>
        <description>Django Templates

Basic

Configure global template directories


TEMPLATES = [
    {
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
        'DIRS': ['templates/'],
        ...


Render a template


import django.template.loader as loader
temp = loader.get_template('base.html')
return HttpResponse(temp.render())</description>
    </item>
    <item rdf:about="https://wikiprogramming.alfredgg.dev/doku.php?id=wiki2:python:django:tests&amp;rev=1598713904&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-08-29T15:11:44+0000</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Django Testing</title>
        <link>https://wikiprogramming.alfredgg.dev/doku.php?id=wiki2:python:django:tests&amp;rev=1598713904&amp;do=diff</link>
        <description>Django Testing


class YourTestClass(TestCase):
    @classmethod
    def setUpTestData(cls):
        print(&quot;setUpTestData: Run once to set up non-modified data for all class methods.&quot;)
        pass

    def setUp(self):
        print(&quot;setUp: Run once for every test method to setup clean data.&quot;)
        pass

    def test_false_is_false(self):
        print(&quot;Method: test_false_is_false.&quot;)
        self.assertFalse(False)

    def test_false_is_true(self):
        print(&quot;Method: test_false_is_true.…</description>
    </item>
    <item rdf:about="https://wikiprogramming.alfredgg.dev/doku.php?id=wiki2:python:django:urls&amp;rev=1589016310&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-05-09T09:25:10+0000</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Django URL's</title>
        <link>https://wikiprogramming.alfredgg.dev/doku.php?id=wiki2:python:django:urls&amp;rev=1589016310&amp;do=diff</link>
        <description>Django URL's

Añadir las urls de una app:


urlpatterns += [
    path('catalog/', include('catalog.urls')),
]


Redirigir una url a otra:


urlpatterns += [
    path('', RedirectView.as_view(url='/catalog/')),
]


Urls con parámetros:


...
path('users/activate/&lt;token&gt;/', views.activate, name='users_activate'),
...
def activate(request, token):
   user = get_user_model().objects.get(token=token)
...
url = reverse('users_activate', args=(user.token,))</description>
    </item>
    <item rdf:about="https://wikiprogramming.alfredgg.dev/doku.php?id=wiki2:python:django:views&amp;rev=1589016310&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2020-05-09T09:25:10+0000</dc:date>
        <dc:creator>Anonymous (anonymous@undisclosed.example.com)</dc:creator>
        <title>Django Views</title>
        <link>https://wikiprogramming.alfredgg.dev/doku.php?id=wiki2:python:django:views&amp;rev=1589016310&amp;do=diff</link>
        <description>Django Views

Devolver el resultado de una función como vista:


# En urls:
urlpatterns = [
    path('videos/', views.VideoListView.as_view(), name='videos'),
]

# En views:
from django.http import HttpResponse
def index(request):
    return HttpResponse('Hey yo!')</description>
    </item>
</rdf:RDF>
