{"id":1061,"date":"2024-07-02T18:14:05","date_gmt":"2024-07-02T16:14:05","guid":{"rendered":"https:\/\/programmier-workshops.de\/blog\/?p=1061"},"modified":"2024-10-15T09:58:28","modified_gmt":"2024-10-15T07:58:28","slug":"one-hour-django-crash-course","status":"publish","type":"post","link":"https:\/\/programmier-workshops.de\/blog\/one-hour-django-crash-course\/","title":{"rendered":"Crash Course &#8211; Django"},"content":{"rendered":"\n<h4 class=\"wp-block-heading\">Course Outline:<\/h4>\n\n\n\n<p><strong>Introduction to Django (5 minutes)<\/strong><\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">pip install django\ndjango-admin startproject myproject\n\ncd myproject\npython manage.py runserver<\/pre>\n\n\n\n<p><strong>Creating a Django Project (10 minutes)<\/strong><\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">django-admin startproject myproject\ncd myproject\npython manage.py runserver<\/pre>\n\n\n\n<p><strong>Creating a Django App (10 minutes)<\/strong><\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">python manage.py startapp myapp\n\n# Add 'myapp' to INSTALLED_APPS in settings.py<\/pre>\n\n\n\n<p><strong>Models and Database (10 minutes)<\/strong><\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\"># myapp\/models.py\nfrom django.db import models\n\nclass Post(models.Model):\n    title = models.CharField(max_length=100)\n    content = models.TextField()\n\n# Apply migrations\npython manage.py makemigrations\npython manage.py migrate\n\n# Create admin user and register model\n# myapp\/admin.py\nfrom django.contrib import admin\nfrom .models import Post\n\nadmin.site.register(Post)<\/pre>\n\n\n\n<p><strong>Views and Templates (10 minutes)<\/strong><\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\"># myapp\/views.py\nfrom django.shortcuts import render\nfrom .models import Post\n\ndef index(request):\n    posts = Post.objects.all()\n    return render(request, 'index.html', {'posts': posts})\n\n# myapp\/urls.py\nfrom django.urls import path\nfrom . import views\n\nurlpatterns = [\n    path('', views.index, name='index'),\n]<\/pre>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"html\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\"># myapp\/templates\/index.html\n&lt;!DOCTYPE html>\n&lt;html>\n&lt;head>\n    &lt;title>My Blog&lt;\/title>\n&lt;\/head>\n&lt;body>\n    &lt;h1>Posts&lt;\/h1>\n    {% for post in posts %}\n        &lt;h2>{{ post.title }}&lt;\/h2>\n        &lt;p>{{ post.content }}&lt;\/p>\n    {% endfor %}\n&lt;\/body>\n&lt;\/html><\/pre>\n\n\n\n<p><strong>Forms and User Input (10 minutes)<\/strong><\/p>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\"># myapp\/forms.py\nfrom django import forms\nfrom .models import Post\n\nclass PostForm(forms.ModelForm):\n    class Meta:\n        model = Post\n        fields = ['title', 'content']\n\n# myapp\/views.py (add form handling)\nfrom .forms import PostForm\n\ndef create_post(request):\n    if request.method == 'POST':\n        form = PostForm(request.POST)\n        if form.is_valid():\n            form.save()\n    else:\n        form = PostForm()\n    return render(request, 'create_post.html', {'form': form})\n\n# myapp\/urls.py\nurlpatterns = [\n    path('', views.index, name='index'),\n    path('create\/', views.create_post, name='create_post'),\n]<\/pre>\n\n\n\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\"># myapp\/templates\/create_post.html\n&lt;!DOCTYPE html>\n&lt;html>\n&lt;head>\n    &lt;title>Create Post&lt;\/title>\n&lt;\/head>\n&lt;body>\n    &lt;h1>Create a New Post&lt;\/h1>\n    &lt;form method=\"post\">\n        {% csrf_token %}\n        {{ form.as_p }}\n        &lt;button type=\"submit\">Save&lt;\/button>\n    &lt;\/form>\n&lt;\/body>\n&lt;\/html><\/pre>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Course Outline: Introduction to Django (5 minutes) Creating a Django Project (10 minutes) Creating a Django App (10 minutes) Models and Database (10 minutes) Views and Templates (10 minutes) Forms and User Input (10 minutes)<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[10,1],"tags":[],"class_list":["post-1061","post","type-post","status-publish","format-standard","hentry","category-django","category-uncategorised"],"_links":{"self":[{"href":"https:\/\/programmier-workshops.de\/blog\/wp-json\/wp\/v2\/posts\/1061","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/programmier-workshops.de\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/programmier-workshops.de\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/programmier-workshops.de\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/programmier-workshops.de\/blog\/wp-json\/wp\/v2\/comments?post=1061"}],"version-history":[{"count":4,"href":"https:\/\/programmier-workshops.de\/blog\/wp-json\/wp\/v2\/posts\/1061\/revisions"}],"predecessor-version":[{"id":1213,"href":"https:\/\/programmier-workshops.de\/blog\/wp-json\/wp\/v2\/posts\/1061\/revisions\/1213"}],"wp:attachment":[{"href":"https:\/\/programmier-workshops.de\/blog\/wp-json\/wp\/v2\/media?parent=1061"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/programmier-workshops.de\/blog\/wp-json\/wp\/v2\/categories?post=1061"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/programmier-workshops.de\/blog\/wp-json\/wp\/v2\/tags?post=1061"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}