diff --git a/Learning/Learning/__init__.py b/Learning/Learning/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/Learning/Learning/asgi.py b/Learning/Learning/asgi.py new file mode 100644 index 0000000..a5f1b54 --- /dev/null +++ b/Learning/Learning/asgi.py @@ -0,0 +1,16 @@ +""" +ASGI config for Learning project. + +It exposes the ASGI callable as a module-level variable named ``application``. + +For more information on this file, see +https://docs.djangoproject.com/en/5.1/howto/deployment/asgi/ +""" + +import os + +from django.core.asgi import get_asgi_application + +os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'Learning.settings') + +application = get_asgi_application() diff --git a/Learning/Learning/settings.py b/Learning/Learning/settings.py new file mode 100644 index 0000000..cf89a21 --- /dev/null +++ b/Learning/Learning/settings.py @@ -0,0 +1,125 @@ +""" +Django settings for Learning project. + +Generated by 'django-admin startproject' using Django 5.1.2. + +For more information on this file, see +https://docs.djangoproject.com/en/5.1/topics/settings/ + +For the full list of settings and their values, see +https://docs.djangoproject.com/en/5.1/ref/settings/ +""" + +from pathlib import Path + +# Build paths inside the project like this: BASE_DIR / 'subdir'. +BASE_DIR = Path(__file__).resolve().parent.parent + + +# Quick-start development settings - unsuitable for production +# See https://docs.djangoproject.com/en/5.1/howto/deployment/checklist/ + +# SECURITY WARNING: keep the secret key used in production secret! +SECRET_KEY = 'django-insecure-k60b39^ak=1-s2o*ltq3lc@nc6u42r@=4!k=txvfo79zlx8wjf' + +# SECURITY WARNING: don't run with debug turned on in production! +DEBUG = True + +ALLOWED_HOSTS = [] + + +# Application definition + +INSTALLED_APPS = [ + 'django.contrib.admin', + 'django.contrib.auth', + 'django.contrib.contenttypes', + 'django.contrib.sessions', + 'django.contrib.messages', + 'django.contrib.staticfiles', + 'training.apps.TrainingConfig', +] + +MIDDLEWARE = [ + 'django.middleware.security.SecurityMiddleware', + 'django.contrib.sessions.middleware.SessionMiddleware', + 'django.middleware.common.CommonMiddleware', + 'django.middleware.csrf.CsrfViewMiddleware', + 'django.contrib.auth.middleware.AuthenticationMiddleware', + 'django.contrib.messages.middleware.MessageMiddleware', + 'django.middleware.clickjacking.XFrameOptionsMiddleware', + +] + +ROOT_URLCONF = 'Learning.urls' + +TEMPLATES = [ + { + 'BACKEND': 'django.template.backends.django.DjangoTemplates', + 'DIRS': [], + 'APP_DIRS': True, + 'OPTIONS': { + 'context_processors': [ + 'django.template.context_processors.debug', + 'django.template.context_processors.request', + 'django.contrib.auth.context_processors.auth', + 'django.contrib.messages.context_processors.messages', + ], + }, + }, +] + +WSGI_APPLICATION = 'Learning.wsgi.application' + + +# Database +# https://docs.djangoproject.com/en/5.1/ref/settings/#databases + +DATABASES = { + 'default': { + 'ENGINE': 'django.db.backends.sqlite3', + 'NAME': BASE_DIR / 'db.sqlite3', + } +} + + +# Password validation +# https://docs.djangoproject.com/en/5.1/ref/settings/#auth-password-validators + +AUTH_PASSWORD_VALIDATORS = [ + { + 'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator', + }, + { + 'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator', + }, + { + 'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator', + }, + { + 'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator', + }, +] + + +# Internationalization +# https://docs.djangoproject.com/en/5.1/topics/i18n/ + +LANGUAGE_CODE = 'en-us' + +TIME_ZONE = 'UTC' + +USE_I18N = True + +USE_TZ = True + + +# Static files (CSS, JavaScript, Images) +# https://docs.djangoproject.com/en/5.1/howto/static-files/ + +STATIC_URL = 'static/' + +# Default primary key field type +# https://docs.djangoproject.com/en/5.1/ref/settings/#default-auto-field + +DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField' diff --git a/Learning/Learning/urls.py b/Learning/Learning/urls.py new file mode 100644 index 0000000..59e173e --- /dev/null +++ b/Learning/Learning/urls.py @@ -0,0 +1,24 @@ +""" +URL configuration for Learning project. + +The `urlpatterns` list routes URLs to views. For more information please see: + https://docs.djangoproject.com/en/5.1/topics/http/urls/ +Examples: +Function views + 1. Add an import: from my_app import views + 2. Add a URL to urlpatterns: path('', views.home, name='home') +Class-based views + 1. Add an import: from other_app.views import Home + 2. Add a URL to urlpatterns: path('', Home.as_view(), name='home') +Including another URLconf + 1. Import the include() function: from django.urls import include, path + 2. Add a URL to urlpatterns: path('blog/', include('blog.urls')) +""" +from django.contrib import admin +from django.urls import path,include + +urlpatterns = [ + path('admin/', admin.site.urls), + path('',include('training.urls')) + +] diff --git a/Learning/Learning/wsgi.py b/Learning/Learning/wsgi.py new file mode 100644 index 0000000..7f89ba1 --- /dev/null +++ b/Learning/Learning/wsgi.py @@ -0,0 +1,16 @@ +""" +WSGI config for Learning project. + +It exposes the WSGI callable as a module-level variable named ``application``. + +For more information on this file, see +https://docs.djangoproject.com/en/5.1/howto/deployment/wsgi/ +""" + +import os + +from django.core.wsgi import get_wsgi_application + +os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'Learning.settings') + +application = get_wsgi_application() diff --git a/Learning/manage.py b/Learning/manage.py new file mode 100755 index 0000000..3e98ccd --- /dev/null +++ b/Learning/manage.py @@ -0,0 +1,22 @@ +#!/usr/bin/env python +"""Django's command-line utility for administrative tasks.""" +import os +import sys + + +def main(): + """Run administrative tasks.""" + os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'Learning.settings') + try: + from django.core.management import execute_from_command_line + except ImportError as exc: + raise ImportError( + "Couldn't import Django. Are you sure it's installed and " + "available on your PYTHONPATH environment variable? Did you " + "forget to activate a virtual environment?" + ) from exc + execute_from_command_line(sys.argv) + + +if __name__ == '__main__': + main() diff --git a/Learning/training/__init__.py b/Learning/training/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/Learning/training/admin.py b/Learning/training/admin.py new file mode 100644 index 0000000..8c38f3f --- /dev/null +++ b/Learning/training/admin.py @@ -0,0 +1,3 @@ +from django.contrib import admin + +# Register your models here. diff --git a/Learning/training/apps.py b/Learning/training/apps.py new file mode 100644 index 0000000..8051e6c --- /dev/null +++ b/Learning/training/apps.py @@ -0,0 +1,6 @@ +from django.apps import AppConfig + + +class TrainingConfig(AppConfig): + default_auto_field = 'django.db.models.BigAutoField' + name = 'training' diff --git a/Learning/training/migrations/__init__.py b/Learning/training/migrations/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/Learning/training/models.py b/Learning/training/models.py new file mode 100644 index 0000000..71a8362 --- /dev/null +++ b/Learning/training/models.py @@ -0,0 +1,3 @@ +from django.db import models + +# Create your models here. diff --git a/Learning/training/static/CSS/cv.css b/Learning/training/static/CSS/cv.css new file mode 100644 index 0000000..be0b462 --- /dev/null +++ b/Learning/training/static/CSS/cv.css @@ -0,0 +1,185 @@ +body { + font-family: Arial, sans-serif; + line-height: 1.6; + background-color: #f7f7f7; + margin: 0; + padding: 0; +} +header img{ + position: relative; + width: 24px; + height: 24px; + right: 5px; + top: 7px; +} +header nav{ + justify-items: center; + margin-bottom: 50px; +} + +header { + + background-color: #2c3e50; + color: white; + padding: 20px; + text-align: center; +} + +header h1 { + font-size: 2em; + margin: 0; +} + +header ul { + list-style-type: none; + padding: 0; + margin: 10px 0 0; + display: flex; + justify-content: center; + gap: 20px; + +} + +header li{ + margin-right: 20px; +} + + + +header li a { + display: inline-block; + transition: transform 0.3s ease; + color: #ecf0f1; + text-decoration: none; + font-weight: bold; +} + +header li a:hover { + color: aqua; + text-decoration: underline; + transform: scale(1.2); + animation-duration: 0.5s; + animation-name: fadeIn; +} +@keyframes fadeIn { + from { + opacity: 0; + transform: translateY(-1px); + } + to { + opacity: 1; + transform: translateY(0) ; + + } +} + + + + + + +.container { + min-height: 600px; + max-width: 850px; + margin: auto; + padding: 20px; + background-color: #fff; + box-shadow: 3px 6px 10px rgba(0, 0, 0, 0.1); +} + + +section { + margin-bottom: 20px; +} + +section h2 { + font-size: 1.5em; + color: #2c3e50; + margin-bottom: 5px; +} + +hr { + border: none; + border-top: 2px solid #ecf0f1; + margin: 5px 0 10px; +} + + +a { + color: #3498db; + text-decoration: none; +} + +a:hover { + text-decoration: underline; +} + + +.projects ul, .lang ul , .cert ul{ + + margin-left: 20px; +} +.main_skills{ + list-style-type: none; + justify-content: center; + display: flex; + margin: 0; + padding: 0; +} +.main_skills li:first-child{ + margin-right: 70px; +} +ul{ + margin: 0; + padding: 0; +} + +.experience p{ + position:relative; + white-space: pre-wrap; +} + +.exp_par{ + position: absolute; + bottom: 20px; + left: 60px; + z-index: 1; +} + + + + +.tech_skills { + + padding: 0; + margin: 0; + display: flex; + list-style-type: none; +} +.tech_skills li{ + text-align: left; +} + +.soft_skills{ + list-style: disc; +} + + +@media (max-width: 600px) { + .container { + padding: 15px; + } + + header h1 { + font-size: 1.5em; + } + + header ul { + flex-direction: column; + gap: 5px; + } +} + +hr{ + border-color: black; +} \ No newline at end of file diff --git a/Learning/training/static/CSS/style.css b/Learning/training/static/CSS/style.css new file mode 100644 index 0000000..d33a616 --- /dev/null +++ b/Learning/training/static/CSS/style.css @@ -0,0 +1,54 @@ +body{ + background-color: #D1D1D1; + font-weight: bold; + position: relative; +} +.sticky{ + text-align: right; + position: sticky; + top: 0; +} + + + +.content table{ + color: grey; + font-size: 24px; + font-family: 'Times New Roman', Times, serif; + background-color: rgb(175, 184, 200); + border-collapse: collapse; + +} +.content th, td{ + border:2px solid black; + text-align: center; + +} +.Text{ + border:2px solid; + padding: 20px; +} + +.container{ + + display: flex; + flex-direction: column; + background-image: url('../images/text.jpeg'); + background-size: cover; + position: absolute; + +} +.container ul{ + justify-content: center; + margin-left: 20px; + display: flex; + flex-direction: row-reverse; + padding:0; +} +.container li{ + margin-right: 50px; +} + + + + diff --git a/Learning/training/static/CSS/styleai.css b/Learning/training/static/CSS/styleai.css new file mode 100644 index 0000000..35c3bab --- /dev/null +++ b/Learning/training/static/CSS/styleai.css @@ -0,0 +1,73 @@ +body{ + font-family: Arial, Helvetica, sans-serif; + padding: 0; + margin: 0; +} +header { + color: white; +} + +@keyframes fadeIn { + from { + opacity: 0; + transform: translateY(-20px); + } + to { + opacity: 1; + transform: translateY(0); + } +} + +header,nav,footer{ + width: 100%; + background-color: lightblue; + padding: 10px; + text-align: center; +} +nav a:hover{ + background-color: rgb(174, 225, 225); + animation-duration: 1s; + animation-name: fadeIn; +} + +nav ul{ + padding: 0; + justify-content: center; + display: flex; + list-style-type: none; + +} +nav li{ + margin-right: 20px; +} + + +.container{ + background-color: aliceblue; + display: flex; + flex-direction: column; + text-align: center; +} + +main{ + display: flex; + flex-wrap: wrap; + justify-content: space-between; + +} + +article{ + flex: 1 1 60%; + margin: 10px; +} + +aside{ + flex: 1 1 60%; + margin: 10px; +} + + +.social-media a{ + margin-right:20px ; +} + diff --git a/Learning/training/static/images/address.png b/Learning/training/static/images/address.png new file mode 100644 index 0000000..c9a67eb Binary files /dev/null and b/Learning/training/static/images/address.png differ diff --git a/Learning/training/static/images/email.png b/Learning/training/static/images/email.png new file mode 100644 index 0000000..9e1fc24 Binary files /dev/null and b/Learning/training/static/images/email.png differ diff --git a/Learning/training/static/images/html.jpg b/Learning/training/static/images/html.jpg new file mode 100644 index 0000000..b5d3c48 Binary files /dev/null and b/Learning/training/static/images/html.jpg differ diff --git a/Learning/training/static/images/html.webp b/Learning/training/static/images/html.webp new file mode 100644 index 0000000..345f12a Binary files /dev/null and b/Learning/training/static/images/html.webp differ diff --git a/Learning/training/static/images/learning_html.webp b/Learning/training/static/images/learning_html.webp new file mode 100644 index 0000000..c59dee7 Binary files /dev/null and b/Learning/training/static/images/learning_html.webp differ diff --git a/Learning/training/static/images/link.png b/Learning/training/static/images/link.png new file mode 100644 index 0000000..2927873 Binary files /dev/null and b/Learning/training/static/images/link.png differ diff --git a/Learning/training/static/images/phone.png b/Learning/training/static/images/phone.png new file mode 100644 index 0000000..fc62cda Binary files /dev/null and b/Learning/training/static/images/phone.png differ diff --git a/Learning/training/static/images/text.jpeg b/Learning/training/static/images/text.jpeg new file mode 100644 index 0000000..52b10d9 Binary files /dev/null and b/Learning/training/static/images/text.jpeg differ diff --git a/Learning/training/static/images/w3schools.webp b/Learning/training/static/images/w3schools.webp new file mode 100644 index 0000000..d1f7990 Binary files /dev/null and b/Learning/training/static/images/w3schools.webp differ diff --git a/Learning/training/templates/training/CV.html b/Learning/training/templates/training/CV.html new file mode 100644 index 0000000..9d06280 --- /dev/null +++ b/Learning/training/templates/training/CV.html @@ -0,0 +1,148 @@ +{% load static %} + + + + + + + CV + + +
+ +

Ali Khalid Al-Maghamsi

+ +
+
+
+
+
+

Career Objective

+
+

+ As a dedicated computer science graduate, I am eager to grow and contribute in a role where I can solve + problems, adapt quickly, and deliver results. With strong technical skills in programming and a commitment to + continuous improvement, I aim to develop my expertise and make a meaningful impact. +

+
+
+

Education

+
+

2020-2024 Bachelor in Computer Science

+

Makkah,Saudi Arabia Umm Al-Qura University

+

GPA: 3.9/4

+
+
+

Work Experience

+
+

Makkah,Saudi Arabia Platform Agent Part-time

+

Managed crowd control at train platforms, ensuring the safety and orderly movement of people.

+

Makkah,Saudi Arabia Call Center Agent Part-time

+

Provided assistance to pilgrims during peak seasons, ensuring smooth operations and addressing inquiries.

+
+
+

Skills

+
+
    +
  • Technical Skills: +
      +
    • Languages +
        +
      • Java
      • +
      • Python
      • +
      • SQL
      • +
      • HTML
      • +
      • CSS
      • +
      • JavaScript
      • +
      +
    • +
    • tools +
        +
      • Oracle Apex
      • +
      • Pytorch
      • +
      • github
      • +
      • git
      • +
      • CLI
      • +
      +
    • +
    +
  • +
  • Soft Skills +
      +
    • Hard worker
    • +
    • Strong Under pressuer
    • +
    • Quick learner
    • +
    • Effective communicator
    • +
    • Adaptabke
    • +
    +
  • +
+
+
+

Projects

+
+

Food Recognition and Calorie Estimation App

+
    +
  • Developed an application that identifies food items from images and provides calorie counts.
  • +
  • Role: Team Leader, Data Collector, and Backend Developer
  • +
+

Restaurant Review Analysis Program

+

Collected and filtered reviews to analyze customer sentiments for a restaurant.

+
+
+

Certificates

+
+
    +
  • Web Development Using Python (In Progress)
  • +
+
+ +
+

Languages

+
+
    +
  • Arabic
  • +
  • English(STEP score:82)
  • +
+
+ +
+
+
+ + \ No newline at end of file diff --git a/Learning/training/templates/training/article_ai.html b/Learning/training/templates/training/article_ai.html new file mode 100644 index 0000000..517f085 --- /dev/null +++ b/Learning/training/templates/training/article_ai.html @@ -0,0 +1,103 @@ +{% load static %} + + + + + + + Article AI + + +
+ +

Exploring Artificial Intelligence

+
+ + + + +
+ +
+
+

The Rise of Artificial Intelligence

+

Explore the rapid growth and impact of AI in today`s world.

+ +
+

Introduction to Artificial Intelligence

+

+ Artificial Intelligence (AI) is a revolutionary field in computer science, + centered around the goal of creating machines and software that mimic human intelligence. + From understanding natural language to making complex decisions and recognizing patterns, + AI aims to enable machines to perform tasks that, until recently, were thought to be exclusively human capabilities. + AI has moved beyond the realm of science fiction to become a powerful driver of modern technology, shaping industries, + impacting everyday life, and raising important ethical questions. +

+ + + +

Applications of AI

+

+ AI is present in a variety of industries, including healthcare, + finance, automotive, and entertainment. It helps diagnose diseases, + provides personalized financial advice, powers self-driving cars, + and recommends content on streaming platforms. + One of the most impactful applications of AI is in healthcare, + where it aids in diagnosing diseases, predicting patient outcomes, + and personalizing treatment plans. AI algorithms can analyze medical images—such as X-rays, + MRIs, and CT scans—to detect abnormalities like tumors or fractures, often with high accuracy. + Additionally, AI-powered tools support healthcare professionals by identifying patterns and making diagnostic processes more efficient, + improving both the speed and accuracy of patient care. This application of AI not only assists in early disease detection but also contributes to more targeted and effective treatment strategies, + enhancing overall patient outcomes. +

+ +

Impact on Jobs and Society

+

+ AIs growing presence across industries is transforming the workforce and society in significant ways. In the job market, AI-powered automation is reshaping roles by performing repetitive or data-intensive tasks, especially in manufacturing, customer service, and logistics. This change can increase productivity and reduce human error but also raises concerns about job displacement, as certain tasks once performed by humans are now automated. + While automation might replace some jobs, AI also creates new roles in fields like AI development, data science, and machine maintenance. However, this shift requires workers to gain new skills, pushing organizations and governments to prioritize reskilling and upskilling programs. + In society, AI influences areas such as privacy, ethics, and equality. As algorithms process large amounts of personal data, concerns over privacy and data security grow, prompting the need for stronger regulations to protect individuals. Additionally, the potential for algorithmic bias impacts fairness in areas like hiring, law enforcement, and lending. + As AI technology advances, addressing these societal and ethical challenges is crucial to ensuring AI is used responsibly and benefits everyone. +

+

The Future of AI

+

+ The future of AI promises transformative advancements across industries, with efforts toward creating General AI capable of human-like understanding across domains. + In healthcare, AI could revolutionize early disease detection, personalized medicine, and surgical assistance, while in education, + it may provide adaptive, personalized learning experiences. Environmental applications might include climate monitoring and resource optimization. + As AI grows, ethical concerns—such as privacy, bias, and job displacement—will require stronger regulations and transparency to ensure these technologies benefit society responsibly. + The future of AI holds both incredible potential and complex challenges that could reshape daily life and global problem-solving. +

+
+ +
+
+
+ + + + \ No newline at end of file diff --git a/Learning/training/templates/training/css.html b/Learning/training/templates/training/css.html new file mode 100644 index 0000000..cc620e7 --- /dev/null +++ b/Learning/training/templates/training/css.html @@ -0,0 +1,87 @@ +{% load static %} + + + + + + CSS INTRODUCTION + + + +

Ali khalid

+
+ +

Css Introduction

+
+
+
+

This is the Second practice it's about CSS and how we can style our html page:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ContentChapter
Basic Syntax and Selectors1
Colors and BackGrounds2
Text Styling3
Unit of Measurements & Position4
Box model5
Layout Basics6
Flex box 7
+

This is the content that we will take for this Css Introduction it's alot but now we will try to learn how blocks work

+
+
+

This Div will have a Back Ground image

+

it will have a flex display so all the content will be inline until it gets a new one

+ +

Lorem ipsum dolor sit, amet consectetur adipisicing elit. Aut sunt, assumenda eligendi corporis pariatur mollitia aliquam fugit sapiente quisquam est cupiditate nihil deleniti exercitationem. Vero eaque praesentium odio voluptatibus debitis.

+

Lorem ipsum dolor sit amet consectetur adipisicing elit. Accusantium nam unde placeat cupiditate molestias reprehenderit. Quia, adipisci asperiores. Molestiae provident doloremque architecto exercitationem et fugiat.

+

Lorem ipsum dolor, sit amet consectetur adipisicing elit. Impedit cumque vero laborum optio quae. Minima ullam cupiditate at dignissimos velit facere et repellendus sint accusamus?

+

Lorem ipsum dolor, sit amet consectetur adipisicing elit. Quae libero placeat repellat porro fugiat velit quam earum! Autem quidem ducimus error inventore asperiores, consequuntur impedit!

+
+
+ + + + \ No newline at end of file diff --git a/Learning/training/templates/training/htmlIntroduction.html b/Learning/training/templates/training/htmlIntroduction.html new file mode 100644 index 0000000..1da49a0 --- /dev/null +++ b/Learning/training/templates/training/htmlIntroduction.html @@ -0,0 +1,108 @@ +{% load static %} + + + + + + HTML INTRODUCTION + + +
+ +
+

Hello html

+

This is not the first time using Html but the proplem is that i didn't practice it soI forgot everything!

+

+ To access a good site to learn HTML press the image + + html image + +

+

Table of content to master HTML:

+
    +
  1. Introduction to HTML: + +
  2. +
  3. Basic HTML Structure: + +
  4. +
+

this nested list to show that i understod nested lists

+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Lab requirements
ContentFocuses on
HTML IntroductionMastering Html
CSS IntroductionMastering Css
Ai ArticleApplying Html and CSS skills
CVApply all skills to make a cv
+
+

To get the newst news for full-stack development

+
+
+ + +
+ +
+ + +
+
+ + + + +
+ +
+ +
+
+ + + + \ No newline at end of file diff --git a/Learning/training/templates/training/index.html b/Learning/training/templates/training/index.html new file mode 100644 index 0000000..1378e65 --- /dev/null +++ b/Learning/training/templates/training/index.html @@ -0,0 +1,26 @@ +{% load static %} + + + + + + Home + + + +
+ +

This is the home page welcome all

+
+ + \ No newline at end of file diff --git a/Learning/training/tests.py b/Learning/training/tests.py new file mode 100644 index 0000000..7ce503c --- /dev/null +++ b/Learning/training/tests.py @@ -0,0 +1,3 @@ +from django.test import TestCase + +# Create your tests here. diff --git a/Learning/training/urls.py b/Learning/training/urls.py new file mode 100644 index 0000000..a21a7cd --- /dev/null +++ b/Learning/training/urls.py @@ -0,0 +1,12 @@ +from django.urls import path +from . import views + +app_name='training' + +urlpatterns=[ + path("",views.home_view,name='home_view'), + path("html/introduction/",views.html_view,name='html_view'), + path("css/introduction/",views.css_view,name='css_view'), + path("article/ai/",views.article_view,name='article_view'), + path("careers/cv/",views.cv_view,name='cv_view'), +] diff --git a/Learning/training/views.py b/Learning/training/views.py new file mode 100644 index 0000000..5c0b755 --- /dev/null +++ b/Learning/training/views.py @@ -0,0 +1,23 @@ +from django.shortcuts import render +from django.http import HttpRequest + +# Create your views here. + +def home_view(request:HttpRequest): + return render(request,'training/index.html') + +def html_view(request:HttpRequest): + + return render(request,'training/htmlIntroduction.html') + +def css_view(request:HttpRequest): + + return render(request,'training/css.html') + +def article_view(request:HttpRequest): + + return render(request,'training/article_ai.html') + +def cv_view(request:HttpRequest): + + return render(request,'training/CV.html') \ No newline at end of file