{"id":21507823,"url":"https://github.com/learncodingeasy/test_show_readme","last_synced_at":"2026-02-19T18:02:12.669Z","repository":{"id":223202800,"uuid":"759581718","full_name":"LearnCodingEasy/Test_Show_Readme","owner":"LearnCodingEasy","description":null,"archived":false,"fork":false,"pushed_at":"2024-02-18T23:28:13.000Z","size":9,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-22T00:52:00.558Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/LearnCodingEasy.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2024-02-18T23:20:16.000Z","updated_at":"2024-02-18T23:20:16.000Z","dependencies_parsed_at":"2024-02-19T01:03:55.160Z","dependency_job_id":null,"html_url":"https://github.com/LearnCodingEasy/Test_Show_Readme","commit_stats":null,"previous_names":["learncodingeasy/test_show_readme"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/LearnCodingEasy/Test_Show_Readme","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LearnCodingEasy%2FTest_Show_Readme","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LearnCodingEasy%2FTest_Show_Readme/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LearnCodingEasy%2FTest_Show_Readme/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LearnCodingEasy%2FTest_Show_Readme/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/LearnCodingEasy","download_url":"https://codeload.github.com/LearnCodingEasy/Test_Show_Readme/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LearnCodingEasy%2FTest_Show_Readme/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29626612,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-19T13:04:20.082Z","status":"ssl_error","status_checked_at":"2026-02-19T13:03:33.775Z","response_time":117,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-23T20:39:42.932Z","updated_at":"2026-02-19T18:02:12.629Z","avatar_url":"https://github.com/LearnCodingEasy.png","language":null,"readme":"## Create The Project Directory 📁\n```\nmkdir Website\n```\n## Create Virtualenv For Your Owner Project 📁\n```\npython -m venv backend\n```\n## Activate Your Virtualenv =\u003e [ ✔️ ]\n```\nbackend\\Scripts\\activate\n```\n## Install Django =\u003e [ 📦 ]\n```\npip install django\n```\n## Create A Django Project =\u003e [ ✔️ ]\n```\ndjango-admin startproject backend .\n```\n## Create An App =\u003e [ 💻 ]\n```\npython manage.py startapp library\n```\nRun Server =\u003e [ 💻 ]\n```\npython manage.py runserver\n```\n## [ Go To ] 👉️\n```\nhttp://127.0.0.1:8000/\n```\n## [ Go To ] 👉️\n```\nhttp://127.0.0.1:8000/admin/\n```\n## Add Your App To Settings.py In Project =\u003e [ 📝 ]\n```\nINSTALLED_APPS = [\n    'library',\n    # . . .\n]\n```\n## Add Your App To Urls.py In Project =\u003e [ 📝 ]\n```\nfrom django.urls import include\nurlpatterns = [\n    path('', include('library.urls')),\n]\n```\n## Create File urls.py In Side App =\u003e [ 📝 ]\n```\nurls.py\n```\n```\nfrom django.urls import path\nfrom . import views\nurlpatterns = [\n  path('', views.library, name='library'),\n]\n```\n## Create Templates Folder =\u003e [ 📁 ]\n```\n📁 backend\n📁 library\n📁 templates\n  📁 pages\n  └── 📝 books.html\n  └── 📝 delete.html\n  └── 📝 index.html\n  └── 📝 update.html\n  📁 parts\n  └── 📝 footer.html\n  └── 📝 navbar.html\n  └── 📝 sidbar.html\n  └── 📝 head.html\n\ntemplates\\base.html\npages\\books.html\ndelete.html\nindex.html\nupdate.html\nparts\\footer.html\nnavbar.html\nsidbar.html\nhead.html\n```\n## Style Of Page [ base.html ] =\u003e [ 📝 ]\n```\n\u003c!DOCTYPE html\u003e\n\u003chtml  lang=\"en\"\u003e\n  \u003chead\u003e\n    {% include 'parts/head.html' %}\n  \u003c/head\u003e\n  \u003cbody\u003e\n    {% include 'parts/navbar.html' %}\n    {% include 'parts/sidbar.html' %}\n    {% block content %}\n    {% endblock content %}\n    {% include 'parts/footer.html' %}\n  \u003c/body\u003e\n\u003c/html\u003e\n```\n## Style Of Page [ navbar.html ] =\u003e [ 📝 ]\n```\n\u003cnav\u003e\n\u003c/nav\u003e\n```\n## Style Of Page [ sidebar.html ] =\u003e [ 📝 ]\n```\n\u003caside\u003e\n\u003c/aside\u003e\n```\n## Style Of Page [ footer.html ] =\u003e [ 📝 ]\n```\n\u003cfooter\u003e\n\u003c/footer\u003e\n```\n## Style Of Page [ index.html ] =\u003e [ 📝 ]\n```\n{% extends \"base.html\" %}\n{% block content %}\n\u003cdiv class=\"content-wrapper\"\u003e\n\u003c/div\u003e\n{% endblock content %}\n\n```\n## Edite Views File In Side App =\u003e [ 📝 ] \n```\nfrom django.shortcuts import render\n# Create your views here.\ndef library(request):\n  return render(request, 'index.html')\n```\n## Add Your Templates To Settings.py In Project =\u003e [ 🖥️ ]\n```\nimport os\n```\n```\nTEMPLATES = [\n  {\n    'DIRS': [os.path.join(BASE_DIR, 'templates')],\n    # ...\n  },\n]\n```\n________________\n## Create Static Folder =\u003e [ 📁 ]\n```\n📁 website\n  📁 backend\n    📁 static\n      ├── 📁 css\n      │   └── 📝 style.css\n      ├── 📁 js\n      │   └── 📝 script.js\n      └── 📁 images\n\nstatic/css/style.css\njs/script.js\nimages\n```\n## Add Your Static To Settings.py In Project =\u003e [ 🖥️ ]\n```\nSTATIC_ROOT = os.path.join(BASE_DIR, 'static')\nSTATICFILES_DIRS = [\n  os.path.join(BASE_DIR, 'backend/static')\n]\n```\n### Collect Static Files  =\u003e [ 📁 ]\n```\npython manage.py collectstatic\n```\n### How To Use [ 👌 ]\n```\n{% load static %}\n\u003clink rel=\"stylesheet\" href=\"{% static 'css/style.css' %}\"\u003e\n\u003cscript src=\"{% static 'js/script.js' %}\"\u003e\u003c/script\u003e\n\u003cimg src=\"{% static 'images/1.png' %}\"\u003e\n```\n_____________________________\n### Create Model [ 📝 ]\n```\n\n```\n### Install Pillow If You Use Image Data [ 🖥️ ]\n```\npip install pillow\n```\n#### Send Model(Class) To Django [ 🖥️ ]\n```\npython manage.py makemigrations\n```\n#### Send Django Model(Class) To Admin Page\n```\npython manage.py migrate\n```\n_____________________________\n### Create a superuser to access the admin [ 🖥️ ]\n```\npython manage.py createsuperuser\n```\n```\nadmin\nadmin@yahoo.com\nkb216407\n```\n### Admin File Inside App \n\u003e ##### Your Path =\u003e [ 📍 ] E:Website\\backend\\library\\admin.py\n```\n# Import Classes From Page Models\nfrom .models import *\n# Register your models here.\nadmin.site.register(Book)\nadmin.site.register(Category)\n```\n_____________________________\n### Edite Media\n##### Open File Setting.py\n```\n# Media إعدادات ال \nMEDIA_ROOT = os.path.join(BASE_DIR, 'media')\nMEDIA_URL = '/media/'\n```\n##### Open File urls.py In Project\n```\nfrom django.contrib import admin\nfrom django.urls import path, include\nfrom django.conf import settings\nfrom django.conf.urls.static  import static\nurlpatterns = [\n    path('admin/', admin.site.urls),\n    path('', include('library.urls')),\n]\nurlpatterns += static(settings.MEDIA_URL, document_root = settings.MEDIA_ROOT)\n```\n_____________________________\n## Get Data To Html\n#### Open File Views.py In App [ 📝 ]\n```\nfrom django.shortcuts import render\nfrom .models import *  # noqa: F403\n\ndef index(request):\n  # كل المنتجات\n  AllItems = {\n    'items':Book.objects.all()  # noqa: F405\n    }  \n  return render(request, 'pages/index.html', AllItems)\n```\n#### Open File index.html In Templates [ 📝 ]\n```\n\u003cul class=\"nav\"\u003e\n  {% for cat in category|slice:'5' %}\n  \u003cli\u003e\n    \u003ca\u003e{{cat.name}}\u003c/a\u003e\n  \u003c/li\u003e\n  {% endfor %}\n\u003c/ul\u003e\n\u003c!-- Start Book (Item) --\u003e\n\u003cdiv class=\"\"\u003e\n  {% for item in items %}\n    {% if item.book_photo %}\n      \u003cdiv style=\"background: url({{item.book_photo.url}});\"\u003e\n    {% else %}\n      \u003cdiv class=\"bg-info\"\u003e\n    {% endif %}\n      \u003c/div\u003e\n  \u003cdiv\u003e{{item.title|slice:5}}\u003c/div\u003e\n  \u003cdiv\u003e{{item.author|slice:5}}\u003c/div\u003e\n  {% endfor %}\n\u003c/div\u003e\n```\n_____________________________\n## Send Book Data From Index Like Admin Page\n#### 1 - Create File Forms.py In App\n```\nforms.py\n```\n#### Edite File forms.py\n```\nfrom django import forms\nfrom .models import Book, Category\n\nclass BookForm(forms.ModelForm):\n    class Meta:\n        model = Book\n        # All Form In Model Book\n        # fields = '__all__'\n        # Get Single Input In Sild Form\n        fields = [\n            \"title\",\n            \"author\",\n            \"book_photo\",\n        ]\n        # Add Attribute To Element \n        widgets = {\n            \"title\": forms.TextInput(attrs={'class':'form-control'}),\n            \"author\": forms.TextInput(attrs={'class':'form-control'}),\n            \"book_photo\": forms.FileInput(attrs={'class':'form-control'}),\n        }\n```\n#### 2 - Open File Views.py  - \n```\nfrom django.shortcuts import render\nfrom .models import *  # noqa: F403\nfrom .forms import BookForm\n\ndef library(request):\n  return render(request, 'pages/index.html')\n\ndef index(request):\n  if request.method == 'POST':\n    add_book = BookForm(request.POST, request.FILES)\n    if add_book.is_valid():\n      add_book.save()\n  # كل المنتجات\n  AllItems = {\n    'items':Book.objects.all(),  # noqa: F405\n    'category':Category.objects.all()  ,# noqa: F405\n    'form': BookForm()\n    }  \n  return render(request, 'pages/index.html', AllItems)\n\ndef books(request):\n  AllItems = {\n    'items':Book.objects.all(),  # noqa: F405\n    'category':Category.objects.all()  # noqa: F405\n    }  \n  return render(request, 'pages/books.html', AllItems)\n```\n#### 3 - Open File Index.html To Adding New Form Models [ 📁 ]\n```\n\u003cform method=\"POST\" enctype=\"multipart/form-data\"\u003e\n  \u003cdiv\u003e              \n    {{form}}\n    \u003cinput type=\"hidden\" name=\"csrfmiddlewaretoken\" value=\"{{ csrf_token }}\"\u003e\n  \u003c/div\u003e\n  \u003cdiv\u003e\n    \u003cbutton type=\"submit\" \u003eاضافة\u003c/button\u003e\n  \u003c/div\u003e\n\u003c/form\u003e\n```\n_____________________________\n## Send Category Data From Index Like Admin Page\n#### 1 -  Edite File forms.py\n```\nfrom django import forms\nfrom .models import Book, Category\n\nclass BookForm(forms.ModelForm):\n    class Meta:\n        model = Book\n        # All Form In Model Book\n        # fields = '__all__'\n        # Get Single Input In Sild Form\n        fields = [\n            \"title\",\n            \"author\",\n            \"book_photo\",\n        ]\n        widgets = {\n          \"title\": forms.TextInput(attrs={'class':'form-control'}),\n            \"author\": forms.TextInput(attrs={'class':'form-control'}),\n            \"book_photo\": forms.FileInput(attrs={'class':'form-control'}),\n        }\n\n# \nclass CategoryForm(forms.ModelForm):\n    class Meta:\n        model = Category\n        # All Form In Model Book\n        # fields = '__all__'\n        # Get Single Input In Sild Form\n        fields = [\n            \"name\",\n        ]\n        # Add Attribute To Element \n        widgets = {\n            \"name\": forms.TextInput(attrs={'class':'form-control'}),\n        }\n```\n#### 2 - Open File Views.py  - \n```\nfrom django.shortcuts import render\nfrom .models import *  # noqa: F403\nfrom .forms import BookForm, CategoryForm\n\ndef library(request):\n  return render(request, 'pages/index.html')\n\ndef index(request):\n  if request.method == 'POST':\n    # Add Book\n    add_book = BookForm(request.POST, request.FILES)\n    if add_book.is_valid():\n      add_book.save()\n    \n    # Add Category\n    add_category = CategoryForm(request.POST)\n    if add_category.is_valid():\n      add_category.save()\n  \n  # كل المنتجات\n  AllItems = {\n    'items':Book.objects.all(),  # noqa: F405\n    'category':Category.objects.all()  ,# noqa: F405\n    'form': BookForm(),\n    'formCategory': CategoryForm(),\n    }  \n  return render(request, 'pages/index.html', AllItems)\n\ndef books(request):\n  AllItems = {\n    'items':Book.objects.all(),  # noqa: F405\n    'category':Category.objects.all()  # noqa: F405\n    }  \n  return render(request, 'pages/books.html', AllItems)\n\n  \n```\n\n#### 3 - Open File Sidbar.html To Adding New Form Models [ 📁 ]\n```\n\u003cform method=\"POST\" enctype=\"multipart/form-data\"\u003e\n  \u003cdiv\u003e              \n    {{formCategory}}\n    \u003cinput type=\"hidden\" name=\"csrfmiddlewaretoken\" value=\"{{ csrf_token }}\"\u003e\n  \u003c/div\u003e\n  \u003cdiv\u003e\n    \u003cbutton type=\"submit\" \u003eاضافة\u003c/button\u003e\n  \u003c/div\u003e\n\u003c/form\u003e\n```\n_____________________________\n## Update Item\n#### 1 - Create Path Open File urls.py Inside Project\n```\nfrom django.urls import path\nfrom . import views\nurlpatterns = [\n  path('library', views.library, name='library'),\n  path('', views.index, name='index'),\n  path('books', views.books, name='books'),\n  path('update/\u003cint:id\u003e', views.update, name='update'),\n]\n```\n#### 2 - Open File Index.html [ 📝 ]\n```\n\u003ca href=\"{% url 'update' item.id %}\"\u003eتعديل\u003c/a\u003e\n```\n#### 3 - Open File Views.py Inside App [ 📝 ]\n```\nfrom django.shortcuts import render\nfrom django.shortcuts import redirect\n\nfrom .models import *  # noqa: F403\n\nfrom .forms import BookForm, CategoryForm\n\ndef library(request):\n    return render(request, \"pages/index.html\")\n\ndef index(request):\n    if request.method == \"POST\":\n        add_book = BookForm(request.POST, request.FILES)\n        if add_book.is_valid():\n            add_book.save()\n\n        # Add\n        add_category = CategoryForm(request.POST)\n        if add_category.is_valid():\n            add_category.save()\n\n    # كل المنتجات\n    AllItems = {\n        \"items\": Book.objects.all(),  # noqa: F405\n        \"category\": Category.objects.all(),  # noqa: F405\n        \"form\": BookForm(),\n        \"formCategory\": CategoryForm(),\n    }\n    return render(request, \"pages/index.html\", AllItems)\n\ndef books(request):\n    AllItems = {\n        \"items\": Book.objects.all(),  # noqa: F405\n        \"category\": Category.objects.all(),  # noqa: F405\n    }\n    return render(request, \"pages/books.html\", AllItems)\n\ndef update(request, id):\n    # Get Item Of Id\n    book_id = Book.objects.get(id=id)\n    if request.method == \"POST\":\n        book_save = BookForm(request.POST, request.FILES, instance=book_id)\n        if book_save.is_valid():\n            book_save.save()\n            return redirect(\"/\")\n    else:\n        book_save = BookForm(instance=book_id)\n    # كل المنتجات\n    AllItems = {\n        \"itemUpdate\": book_save,\n    }\n    return render(request, \"pages/update.html\", AllItems)\n\n```\n_____________________________\n## Delete Item \n#### 1 - Create Path Open File urls.py Inside Project [ 📝 ]\n```\nfrom django.urls import path\nfrom . import views\n\nurlpatterns = [\n    path(\"library\", views.library, name=\"library\"),\n    path(\"\", views.index, name=\"index\"),\n    path(\"books\", views.books, name=\"books\"),\n    path(\"update/\u003cint:id\u003e\", views.update, name=\"update\"),\n    path(\"delete/\u003cint:id\u003e\", views.delete, name=\"delete\"),\n]\n```\n\n\n#### 2 - Open File Index.html [ 📝 ]\n```\n\u003ca href=\"{% url 'delete' item.id %}\"\u003eحذف\u003c/a\u003e\n```\n#### 3 - Open File Views.py Inside App [ 📝 ]\n```\nfrom django.shortcuts import render\nfrom django.shortcuts import redirect\n\nfrom django.shortcuts import get_object_or_404\n\nfrom .models import *  # noqa: F403\n\n# from .models import Book, Category\n\nfrom .forms import BookForm, CategoryForm\n\n\ndef library(request):\n    return render(request, \"pages/index.html\")\n\n\ndef index(request):\n    if request.method == \"POST\":\n        add_book = BookForm(request.POST, request.FILES)\n        if add_book.is_valid():\n            add_book.save()\n\n        # Add\n        add_category = CategoryForm(request.POST)\n        if add_category.is_valid():\n            add_category.save()\n\n    # كل المنتجات\n    AllItems = {\n        \"items\": Book.objects.all(),  # noqa: F405\n        \"category\": Category.objects.all(),  # noqa: F405\n        \"form\": BookForm(),\n        \"formCategory\": CategoryForm(),\n    }\n    return render(request, \"pages/index.html\", AllItems)\n\n\ndef books(request):\n    AllItems = {\n        \"items\": Book.objects.all(),  # noqa: F405\n        \"category\": Category.objects.all(),  # noqa: F405\n    }\n    return render(request, \"pages/books.html\", AllItems)\n\n\ndef update(request, id):\n    # Get Item Of Id\n    book_id = Book.objects.get(id=id)\n    if request.method == \"POST\":\n        book_save = BookForm(request.POST, request.FILES, instance=book_id)\n        if book_save.is_valid():\n            book_save.save()\n            return redirect(\"/\")\n    else:\n        book_save = BookForm(instance=book_id)\n    # كل المنتجات\n    AllItems = {\n        \"itemUpdate\": book_save,\n    }\n    return render(request, \"pages/update.html\", AllItems)\n\n\ndef delete(request, id):\n    book_delete = get_object_or_404(Book, id=id)\n    if request.method == \"POST\":\n        book_delete.delete()\n        return redirect(\"/\")\n    return render(request, \"pages/delete.html\")\n```\n\n_____________________________\n_____________________________\n_____________________________\n# Usfull Commends\n```\nbackend\\Scripts\\activate\npython manage.py runserver\n```\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flearncodingeasy%2Ftest_show_readme","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flearncodingeasy%2Ftest_show_readme","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flearncodingeasy%2Ftest_show_readme/lists"}