תחילת העבודה עם Django – מבוא והדרכה

גילוי נאות: התמיכה שלך עוזרת להפעיל את האתר! אנו מרוויחים דמי הפניה עבור חלק מהשירותים שאנו ממליצים עליהם בדף זה.


Django היא מסגרת פיתוח מהירה ליישומי אינטרנט, הכתובה ב- Python.

מסגרת פיתוח הינה שלד יישומים, עם מערך כלים לבניית תוכנה במהירות, וחוות דעת כיצד יש לבנות תוכנה.

מסגרות מצמצמות את קוד “לוח הדוד” על ידי מתן התכונות הנפוצות ביותר – קישוריות בסיס נתונים, כניסות משתמשים, ניהול הפעלות, ניתוב בקשות. אלה נחוצים כמעט בכל אפליקציה, ללא קשר למטרה הספציפית של האפליקציה, והם לא צריכים להיות מתוכננים מחדש לכל פרויקט חדש..

מסגרת פיתוח מספקת גם ארכיטקטורה למערכת. במקום לבזבז זמן ואנרגיה על ההחלטה כיצד לארגן קוד (או שיש בעיות בלתי נגמרות שלא מצליחים לעשות זאת), למסגרת יש דרך נכונה לארגן תכונות, כך שתוכלו פשוט להתחיל ליצור אותם.

נראה איך נראה מבנה זה כשאנחנו עוברים על הקמת אפליקציה ראשונה.

מתחילים

הדבר היחיד שאתה באמת צריך זה גישה לאינטרנט, ידע בסיסי מאוד בשורת הפקודה ועורך קוד.

סביר להניח שרוב משתמשי לינוקס יודעים לגשת למסוף שלהם, אך הנה מדריך מהיר למסוף לינוקס למקרה שלא תעשה זאת. אם אתה נמצא ב- Mac OS X, יש לך שורת פקודה דמוי Linux / Unix נגישה באפליקציית Terminal.

שורת הפקודה של Windows שונה מעט מזו שב- Mac OS X ו- Linux (נקראת bash).

אתה יכול להשתמש ב- Powershell של Windows, אך תצטרך “לתרגם” לא מעט – לא רק כאן אלא ברוב הדרכות ומדריכי עזר אחרים..

הגישה הקלה ביותר היא כנראה להתקין מסוף bash.

יש לך כמה אפשרויות:

  • Cygwin: זהו אוסף של כלים לינוקס / יוניקס עבור Windows, כולל מסוף bash.
  • Gitbash: Git for Windows מגיע עם יישום bash. ככל הנראה תרצה להשתמש ב- git (וב- Github) לבקרת גרסאות בכל מקרה, כך שזה פיתרון די קל.
  • Windows 10 כולל מעטפת Bash מבוססת Ubuntu, וזה מדהים. צריך קצת לעשות כדי שזה יעבוד.

מתקין הכל

ישנם מספר שלבים להפעלת Django: Python, שדרג את מנהל החבילות של Python, הגדר את הסביבה הווירטואלית שלך והתקן את Django..

פייתון

אם אין לך את פייתון במחשב שלך, אתה צריך את זה. עיין בדף הורדות Python לקישורים ל- Python עבור כל מערכות ההפעלה העיקריות.

אתה תרצה את פייתון 3, לא את פייתון 2. אתה יכול להשתמש בפייתון 2 עם דג’אנגו, אבל פייתון 3 הוא ההווה והעתיד של השפה.

אם אתה רק נכנס לפיתון ולג’אנגו, השתמש בפייתון 3.

יתכן ויש לך את פייתון 2 במחשב שלך. נכון לכתיבת שורות אלה Mac OS X נשלח עם Python 2, וגם כמה הפצות לינוקס כן. התקן את Python 3 והשתמש בו. (קבלת שתי גרסאות של Python במחשבך לא תהיה בעיה, כפי שתוכל לראות בשלבים הבאים.)

אם אינך בטוח איזו גרסה של פייתון יש לך, הקלד את פיתון בשורת הפקודה.

זה יגיד לך. לדוגמה, להלן מה שתראה אם ​​אתה מפעיל את Python גרסה 3.5.1:

> פיתון
פייתון 3.5.1 (v3.5.1: 37a07cee5969, 5 בדצמבר 2015, 21:12:44)
[GCC 4.2.1 (Apple Inc. build 5666) (נקודה 3)] על דארווין
סוג "עזרה", "זכויות יוצרים", "נקודות זכות" או "רישיון" למידע נוסף.

אם הפעלת פיתון מגלה v2, נסה את python3. אם התקנת את פייתון 3, זה אמור לומר לך.

שדרג את מנהל החבילות של פייתון

פייתון נשלח עם פיפ, מנהל החבילות של פייתון. עם זאת, תצטרך לשדרג אותו (צרורות ההתקנה של Python לא ישודרגו בכל פעם שעדכוני pip). למרבה המזל, pip משדרג את עצמו באמצעות פקודת מסוף מהירה:

> להתקין –

סביבות וירטואליות של פייתון

כל פרויקט Python, כולל פרויקט Django, בדרך כלל יהיה כרוך במספר חבילות צד שלישי נפרדות.

אם אתה משתמש הרבה ב- Python, בסופו של דבר יהיו לך סכסוכי גרסאות – פרויקט זה זקוק ל- v4.3 של משהו בעוד שפרויקט זה צריך v5.1. הפיתרון הוא סביבות וירטואליות של פייתון.

ישנם מספר כלים לסביבה וירטואלית עבור פייתון. אנו משתמשים ב- virtualenv. ראשית, התקן אותו באמצעות pip:

> pip להתקין

בשלב הבא הגדר סביבה וירטואלית לפרויקט Django שלך. צור ספריה חדשה שתאכלס את פרויקט Django שלך (ים).

מדריך זה יכיל את מדריך הפרויקטים שלכם ודברים אחרים, כך שכדי למנוע מעצמכם להתבלבל, עדיף לתת לו שם שאינו שם הפרויקט. נקרא לזה פרויקטים של ג’אנגו.

צור את ספריית המיכלים ואז הפעל virtualenv מתוך הספרייה.

בעת הפעלת virtualenv, נציין את python3 וניתן שם לסביבה (djenv) ואז נפעיל את הסביבה הווירטואלית.

> פרויקטים של mkdir django
> פרוייקטים של תקליטור django
~ / django-פרויקטים > virtualenv -p python3 djenv
~ / django-פרויקטים > מקור djenv / bin / הפעל – –
(djenv) ~ / django-פרויקטים >

אתה נמצא עכשיו בסביבה וירטואלית בשם djenv. כל חבילות pip שתתקין או תשדרג יהיו זמינות רק כאשר סביבה וירטואלית זו מופעלת.

כדי להשבית את הסביבה הווירטואלית, פשוט הקלד את ההפעלה.

הערה מהירה על שמות דברים – רוב התיעוד עבור virtualenv, Django ו- Python באופן כללי משתמש ב- venv כשם הדוגמא של הסביבה הווירטואלית שלהם..

עשיית זאת בעצמך עלולה להיות מבלבלת, מכיוון שאתה עשוי ליצור כמה וכמה כאלה במחשב שלך, ועוזר לזכור איזה מהם.

כמו כן, venv הוא שמו של כלי אחר לסביבה וירטואלית של פייתון.

גישה שימושית היא לקרוא לסביבה משהו שקשור לפרויקט (כמו djenv לסביבת django), אבל אתה יכול לתת לזה שם לכל דבר שתרצה.

התקן את Django

זה די קל:

(djenv) ~ / django-פרויקטים > pip להתקין

יתכן שתרצה לבטל את הסביבה הווירטואלית שלך ולהתקין את Django כולו במערכת. זה תלוי בך.

כך או כך, pip תתחיל להתקין את Django ואת כל התלות שלו. זה יכול לקחת זמן.

פתיחת פרויקט

“בדרך כלל” מובן כי “פרויקט” הוא אתר יחיד, שלם (או אולי משפחה של אתרים).

באתר עשויים להיות מספר פונקציות שונות – בלוג, פורום, חנות, צ’אט עזרה.

כל אחד מאלה נקרא “יישום” (או סתם “אפליקציה”). אז פרויקט הוא אוסף של אפליקציות.

זה חשוב לאיך שאתה מבנה דברים, אבל זה משנה גם לגבי איך אתה שם דברים.

תאר לעצמך שאתה רוצה לבנות אפליקציית אינטרנט חדשה המאפשרת לאנשים לשתף תמונות. בראשכם, האתר כולו הוא “האפליקציה”.

אבל אם אתה מאתחל את פרויקט הג’נגו שלך עם השם photo-share-app (או כל דבר אחר), אתה מתבלבל עם שמות הספריות המשוכפלים שלך..

מבנה פרויקט דג’נגו

מבנה הספריות של פרויקט Django נראה כך:

– /שם הפרוייקט/
– שם הפרוייקט/
– שם האפליקציה/
– שם האפליקציה/
– שם האפליקציה/

כשתתחיל את הפרויקט שלך לראשונה, תקבל את מדריך הפרויקטים ברמה העליונה ואת השני בתוכו.

המפלס העליון פועל כמכולה לשאר חלקיו. ברמה השנייה יש קבצי תצורה לפרויקט בכללותו.

היישום החדש שאתה בונה יהיה בספריות אפליקציה נוספות (או יותר).

זה יוצר כמה טרדות. בהנחה שאתה בונה איזו אפליקציית אינטרנט חדשה מדהימה עם שם מדהים (בוא נקרא לזה), אם אתה לא חושב על זה, אתה בסופו של דבר כך:

– / עם /
– עם /
– ?… איך אני צריך לקרוא לדבר שאני בונה …? /

הנה הצעה:

– / wiht_site /
– wiht_site /
– wiht_app /

זה הופך את הכל ברור וקל לזכור. כמו כן, זה מקל פשוט על כל פונקציית אתר גנרית בה אתה רוצה להשתמש.

או שתוכלו לבנות לעצמכם אפליקציות מותאמות אישית נוספות, אם הן הגיוניות כמודולים עצמאיים:

– / wiht_site /
– wiht_site /
– wiht_app /
– צד שלישי-בלוג-אפליקציה /
– צד שלישי-פורום-אפליקציה /
– wiht-crm-app /

מסמכי Django משתמשים באתר שלי, וזה בסדר לדוגמאות. תרצה שם ייחודי לכל פרויקט.

(כמובן שאתה לא צריך לבנות אפליקציה חדשה כדי להשתמש ב- Django. אתה יכול פשוט להקים פרויקט ולהשתמש באוסף של אפליקציות קיימות.

אתה יכול להפעיל אתר מורכב ורב פונקציות די מהר בדרך זו, ולקבל גמישות מאוחר יותר להוסיף אפליקציות שנבנו על ידי הלקוח.)

(סוף סוף) תתחל את הפרויקט שלך

בתוך כל ספריית ה”מכולות “(השתמשנו / פרויקטים של django לעיל), ועם הסביבה הווירטואלית שלך מופעלת, אתחל את הפרויקט החדש שלך באמצעות הפקודה django-admin.

(djenv) ~ / django-פרויקטים > django-admin פרוייקט התחל wiht_site

עכשיו יש לך:

– / wiht_site /
– לנהל
– wiht_site /
– __init__.py
– הגדרות
– urls.py
– wsgi.py

כעת הפעל את שרת הבדיקה כדי לוודא שהכל קרה נכון.

(djenv) ~ / django-פרויקטים > CD wiht_site
(djenv) ~ / django-projects / wiht_site > ניהול שרת

תקבל פלט כמו:

ביצוע בדיקות מערכת…

בדיקת מערכת לא זיהתה בעיות (0 מושתק).

יש לך הגירה שלא הוחלת; יתכן שהאפליקציה שלך לא תעבוד כראוי עד ליישום.
הפעל את ‘python manage.py migrate’ כדי ליישם אותם.

22 באפריל 2016 – 17:45:53
Django גרסה 1.9, באמצעות ההגדרות ‘wiht_site.settings’
החל שרת פיתוח בכתובת http://127.0.0.1:8000/
צא מהשרת באמצעות CONTROL-C.

פתח את http://127.0.0.1:8000 בדפדפן, ואתה אמור לראות משהו עובד: הודעת “ברוך הבא ל- Django”.

מאתחל את האפליקציה הראשונה שלך

מכאן, נניח שאנחנו תמיד בספרייה העליונה של wiht_site (ספריית משנה) עם סביבת djenv מופעלת.

כאשר אתה רואה זאת בדוגמאות:

>

נניח שאתה כאן:

(djenv) ~ / django-projects / wiht-app >

צור אפליקציה חדשה באמצעות manage.py.

> ניהול פיתון. py startapp wiht_app

פעולה זו תיצור ספרייה חדשה, / wiht_app /, עם התכנים הבאים:

– __init__.py
– admin.py
– apps.py
– הגירות /
– __init__.py
– models.py
– tests.py
– צפיות

עכשיו אתה צריך “להתקין” את האפליקציה. פתח /wiht_site/wiht_site/settings.py, ומצא את INSTALLED_APPS. יש לערוך את זה כדי לכלול את האפליקציה החדשה שלך.

INSTALLED_APPS = [
‘wiht_app’,
‘django.contrib.admin’,
‘django.contrib.auth’,
‘django.contrib.contenttypes’
‘django.contrib.sessions’,
‘django.contrib.messages’,
‘django.contrib.staticfiles’,
]

פיתוח משהו

לאפליקציות של Django יש משהו קרוב לארכיטקטורה-מבקר-מבקר, שתיעוד של Django מכנה לעיתים תבנית-תצוגה-מודל.

זה מוביל לדפוס פיתוח איטרטיבי קל לאימוץ:

  • לעבוד על המודל, להגדיר אילו סוגי נתונים הולכים להיות במעקב וכיצד הם קשורים זה לזה;
  • לעבוד על התצוגה, להגדיר כיצד יש לגשת לנתונים ומה לעשות כשמניפולציה של נתונים;
  • עבד על התבנית, והגדיר כיצד נראים נתונים כאשר הם מוצגים למשתמש או נצרכים על ידי יישום אחר.
דגמים והגירות

בניית תכונות חדשות בדרך כלל מתחילה ביצירת דגמים. דגמים הם מחלקות (במובן של OOP) המגדירות את האובייקטים השונים במערכת שלך וכיצד הם קשורים זה לזה. לכן, באפליקציית בלוג, יתכן ויש לך דגמים לפוסט, עמוד, קטגוריה, תגובה וכדומה – ואולי תגובה היא תת-סוג (פוסט) של פוסט, ואולי פוסטים ודפים הם תת-קטגוריות של ContentItem.

דגמים כתובים בקובץ models.py של כל אפליקציה. הנה תחילתו של מודל פשוט מאוד לפוסטים בבלוגים.

מדגמי יבוא של django.db
מ- django.contrib.auth.models לייבא את המשתמש

# צור את הדגמים שלך כאן.
הודעה בכיתה (דגמים. מודל):

title = models.CharField (
אורך מקסימאלי = 100,
)

slug = models.SlugField (
ייחודי = נכון,
)

קטע = דגמים. טקסטפילד (
אורך מקסימאלי = 255,
)

content = models.TextField (
ריק = נכון,
)

מחבר = דגמים. פורני קיי (
משתמש,
)

נוצר = models.DateTimeField (
auto_now_add = נכון,
)

def __str __ (עצמי):
להחזיר את עצמי

לג’נגו יש מאפיין יחסי אובייקטים משלו (ORM) המספק שכבת הפשטה למסד הנתונים. זה מאפשר לך להגדיר את מודל הנתונים שלך ללא התייחסות למערכת ספציפית לניהול בסיסי נתונים, ומבלי שתצטרך לכתוב SQL.

כשאתה מוסיף דגמים, אתה יוצר ואז מעביר העברות. הגירה היא סט שנוצר אוטומטית לפקודות SQL שמשנות את עיצוב בסיס הנתונים כך שיתאים לדגמים – ORM של Django מתרגם את המודלים שלך להעברות SQL.

לפני שתעשה זאת, תרצה להגדיר את מסד הנתונים ולחבר אותו. יש לך הרבה אפשרויות כאן, אבל רוב משתמשי Django מעדיפים PostgreSQL, ויש כלים מיוחדים של PostgreSQL עבור Django שלא זמינים למסדי נתונים אחרים..

לאחר שמסד הנתונים שלך פועל, אתה יכול לעבור.

> הגירה מיידית
> ניהול. פיתון

מנהל

Django מספק תצוגת ניהול אוטומטית על הנתונים שלך, כך שתוכל לבצע פעולות CRUD בסיסיות עם הדגמים שלך כמעט מייד. ואם צרכי ממשק המשתמש בעריכה שלך אינם מורכבים במיוחד, אתה יכול פשוט להשתמש באתר הניהול מבלי לבנות תצוגות עריכה משלך. כל שעליכם לעשות הוא לרשום את הדגם במודול הניהול. זה נעשה ב- admin.py, בתוך ספריית היישומים שלך.

מאת django.contrib יבוא מנהל
מ-. ייבוא ​​מודלים של פוסט

admin.site.register (הודעה)

כעת כדי להתחבר ולגשת לניהול, צור משתמש-על משורת הפקודה.

> ניהול משתמש

עקוב אחר ההנחיות בטרמינל לגבי שם משתמש, דוא”ל וסיסמא. ואז הפעל את השרת:

> ניהול שרת

ואתה אמור להיות מסוגל להתחבר בכתובת http://127.0.0.1:8000/admin/. אם הכל מוגדר נכון, אתה אמור להיות מסוגל להציג, להוסיף, לערוך ולמחוק פוסטים פשוטים בבלוג.

עכשיו יהיה זמן טוב ליצור קומץ פוסטים לדוגמה. זה יהפוך את הצעד הבא למשמעותי יותר.

הנוף

ב- Django, “התצוגה” אינה קוד התצוגה המקדימה (המכונה “התבנית”). מה שדג’נגו מכנה את התצוגה דומה יותר ל”בקר “במסגרות אחרות. זוהי פונקציה שמקבלת בקשת HTTP כארגומנט ומחזירה תגובה. בדרך כלל, התגובה היא תוכן של דף אינטרנט שאפשר להגיע אליו באמצעות תבנית; תגובה יכולה להיות גם ניתוב מחדש, הודעת שגיאה, קובץ או משהו אחר.

המצב הנפוץ ביותר הוא שאתה רוצה לשלוח בקשה לפריט תוכן מסוים (לדוגמא, פוסט ספציפי אחד) ואז להחזיר את כל הנתונים הקשורים לפריט התוכן הזה (הכותרת, הקטע, התוכן, המחבר). מצב נפוץ נוסף הוא שאתה רוצה להציג רשימת פריטי תוכן, כמו בעמוד הראשון של בלוג או עדכון חדשות.

Django מספק תצפיות גנריות מובנות כדי להשיג זאת במהירות. השניים בהם נשתמש הם ListView ו- DetailView. אם רצית להרחיב אותם, או ליצור תצוגות משלך, היית עושה את זה בתצוגות .py, אך אנו נשתמש בהן כרגע כרגע.

כעת עלינו רק למפות תצוגות אלו לכתובות אתרים. ב- /wiht_site/urls.py, יהיה עליך לכלול את מיפוי כתובות האתרים הספציפי ליישום.

מכתובת היבוא של django.conf.urls, כולל
מאת django.contrib יבוא מנהל

urlpatterns = [
url (r ‘^ admin /’, admin.site.urls),
url (r ‘^’, כולל (‘wiht_app.urls’)),
]

ואז ערוך את ה- URLs של האפליקציה שלך.

מכתובת היבוא של django.conf.urls, כולל
מ . ייבוא ​​תצוגות
מתוך django.views.generic ייבוא ​​רשימת רשימה, תצוגה מפורטת
מ-. יבוא מודלים של פוסט

urlpatterns = [
url (
r ‘^ בלוג /

הפונקציה url () המגדירה כל תבנית כוללת סדרה של ארגומנטים המופרדים בפסיקים:

  • ביטוי רגיל המגדיר תבנית URL שתתאים לבקשות נכנסות נגדן;
  • תצוגה מוגדרת, עם ארגומנטים:
    • דוגמנית;
    • שם קובץ התבנית;
  • שם דפוס ה- url הזה.

התבניות לעיל מתאימות לדפוסי / blog / ו / blog / post-slug / URL לתצוגת ListView ו- DetailView ואז מציינים את התבניות שלהם (index.html ו- post.html).

תבנית

נותר רק ליצור תבנית להצגת תוכן זה. דג’נגו משתמש בתבניות ג’ינג’ה.

צור שלושה קבצים חדשים:

/wiht_site/wiht_app/templates/wiht_app/main.html

{% חסום תוכן%}
{% endblock%}

/wiht_site/wiht_app/templates/wiht_app/index.html

{% מאריך "wiht_app / main.html" %}

{% חסום תוכן%}

פוסטים

{% לכניסה ב- object_list%}

{{entry.title}}

{{entry.excerpt}}

{% endfor%}

{% endblock%}

/wiht_site/wiht_app/templates/wiht_app/post.html

{% מאריך "wiht_app / main.html" %}

{% חסום תוכן%}

{{post.title}}

{{post.author}}
פורסם בתאריך: {{post.created}}
{{ תוכן דואר}}

{% endblock%}

מזל טוב, כעת עליך לקבל יישום בלוג עובד.

המשך קריאה ומשאבים

יש לנו מדריכים נוספים, הדרכות ואינפוגרפיות הקשורים לקידוד ופיתוח:

  • מבוא, מקורות ושאלות נפוצות של פייתון: מאמר זה מכיל עשרות משאבים שיעזרו לך להיות מקצוען של פייתון.
  • ממשק פריימר של ממשק האינטרנט של שרת האינטרנט: למד כיצד להשתמש במפרט זה כדי להשתמש במסגרות פייתון עם Django.
  • מבוא ל- Ruby on Rails: מאמר זה יכיר לכם אלטרנטיבה לפיתון ולג’נגו.

,
ListView.as_view (
queryset = Post.objects.all (). order_by (“נוצר”) [: 50],
template_name = ”wiht_app / index.html”
),
name = ‘רשימת רשימה’
),
url (
r’blog / (? P [a-zA-Z0-9] + (?: – [a-zA-Z0-9] +) *) / פונקציית url () המגדירה כל תבנית יש סדרה של פסיק מופרדת טיעונים:

  • ביטוי רגיל המגדיר תבנית URL שתתאים לבקשות נכנסות נגדן;
  • תצוגה מוגדרת, עם ארגומנטים:
    • דוגמנית;
    • שם קובץ התבנית;
  • שם דפוס ה- url הזה.

התבניות לעיל מתאימות לדפוסי / blog / ו / blog / post-slug / URL לתצוגת ListView ו- DetailView ואז מציינים את התבניות שלהם (index.html ו- post.html).

תבנית

נותר רק ליצור תבנית להצגת תוכן זה. דג’נגו משתמש בתבניות ג’ינג’ה.

צור שלושה קבצים חדשים:

/wiht_site/wiht_app/templates/wiht_app/main.html

/wiht_site/wiht_app/templates/wiht_app/index.html

/wiht_site/wiht_app/templates/wiht_app/post.html

מזל טוב, כעת עליך לקבל יישום בלוג עובד.

המשך קריאה ומשאבים

יש לנו מדריכים נוספים, הדרכות ואינפוגרפיות הקשורים לקידוד ופיתוח:

  • מבוא, מקורות ושאלות נפוצות של פייתון: מאמר זה מכיל עשרות משאבים שיעזרו לך להיות מקצוען של פייתון.
  • ממשק פריימר של ממשק האינטרנט של שרת האינטרנט: למד כיצד להשתמש במפרט זה כדי להשתמש במסגרות פייתון עם Django.
  • מבוא ל- Ruby on Rails: מאמר זה יכיר לכם אלטרנטיבה לפיתון ולג’נגו.

,
DetailView.as_view (
מודל = הודעה,
template_name ="wiht_app / post.html"),
שם ="הודעה"
)
]

הפונקציה url () המגדירה כל תבנית כוללת סדרה של ארגומנטים המופרדים בפסיקים:

  • ביטוי רגיל המגדיר תבנית URL שתתאים לבקשות נכנסות נגדן;
  • תצוגה מוגדרת, עם ארגומנטים:
    • דוגמנית;
    • שם קובץ התבנית;
  • שם דפוס ה- url הזה.

התבניות לעיל מתאימות לדפוסי / blog / ו / blog / post-slug / URL לתצוגת ListView ו- DetailView ואז מציינים את התבניות שלהם (index.html ו- post.html).

תבנית

נותר רק ליצור תבנית להצגת תוכן זה. דג’נגו משתמש בתבניות ג’ינג’ה.

צור שלושה קבצים חדשים:

/wiht_site/wiht_app/templates/wiht_app/main.html

/wiht_site/wiht_app/templates/wiht_app/index.html

/wiht_site/wiht_app/templates/wiht_app/post.html

מזל טוב, כעת עליך לקבל יישום בלוג עובד.

קופון אירוח אתרים

מחפש הרבה מאוד אירוח בג’נגו?
אירוח A2 מדורג במקום הראשון במבחני המהירות והביצועים האחרונים שלנו. כרגע אתה יכול לחסוך עד 50% בתוכניות המכוונות למפתחים שלהם.
השתמש בקישור הנחה זה
להשיג את העסקה.

המשך קריאה ומשאבים

יש לנו מדריכים נוספים, הדרכות ואינפוגרפיות הקשורים לקידוד ופיתוח:

  • מבוא, מקורות ושאלות נפוצות של פייתון: מאמר זה מכיל עשרות משאבים שיעזרו לך להיות מקצוען של פייתון.
  • ממשק פריימר של ממשק האינטרנט של שרת האינטרנט: למד כיצד להשתמש במפרט זה כדי להשתמש במסגרות פייתון עם Django.
  • מבוא ל- Ruby on Rails: מאמר זה יכיר לכם אלטרנטיבה לפיתון ולג’נגו.
Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map