πŸ” Django: ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΌΠΎΠ΄Π΅Π»ΠΈ для ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ SEO ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ

МодСли Π² Django ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒ с использованиСм camelCase. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Π·Π°Π³Π»Π°Π²Π½Ρ‹Π΅ Π±ΡƒΠΊΠ²Ρ‹, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚Π΄Π΅Π»ΠΈΡ‚ΡŒ слова Π² названиях ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ. Π’ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€:

  class MyModel(models.Model):
      field1 = models.CharField(max_length=50)
      field2 = models.IntegerField()
  
Π’ этом ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ модСль называСтся "MyModel", Π° поля "field1" ΠΈ "field2". ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° использованиС Π·Π°Π³Π»Π°Π²Π½Ρ‹Ρ… Π±ΡƒΠΊΠ² для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π½ΠΎΠ²ΠΎΠ³ΠΎ слова Π² Π½Π°Π·Π²Π°Π½ΠΈΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ.

Π”Π΅Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚

django ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΌΠΎΠ΄Π΅Π»ΠΈ

Π’ Django, ΠΌΠΎΠ΄Π΅Π»ΠΈ ΡΠ²Π»ΡΡŽΡ‚ΡΡ основными ΡΡ‚Ρ€ΠΎΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ Π±Π»ΠΎΠΊΠ°ΠΌΠΈ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Π˜Ρ‚Π°ΠΊ, Π²Π°ΠΆΠ½ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΌΠΎΠ΄Π΅Π»ΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ ΠΏΠΎΠ½ΡΡ‚Π½ΠΎΡΡ‚ΡŒ ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΠΎΡΡ‚ΡŒ вашСго ΠΊΠΎΠ΄Π°. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ рассмотрим основныС ΠΏΡ€Π°Π²ΠΈΠ»Π° ΠΈ Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄Π°Ρ†ΠΈΠΈ для названия ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ Π² Django.

1. ΠžΠ΄Π½ΠΎΠΈΠΌΠ΅Π½Π½ΠΎΡΡ‚ΡŒ сущности

ΠŸΠ΅Ρ€Π²ΠΎΠ΅ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ - модСль Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ Π½Π°Π·Π²Π°Π½Π° Ρ‚Π°ΠΊ ΠΆΠ΅, ΠΊΠ°ΠΊ ΠΈ ΡΡƒΡ‰Π½ΠΎΡΡ‚ΡŒ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΎΠ½Π° прСдставляСт. НапримСр, Ссли Ρƒ вас Π΅ΡΡ‚ΡŒ ΡΡƒΡ‰Π½ΠΎΡΡ‚ΡŒ "ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ", Ρ‚ΠΎ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π°Ρ модСль Π΄ΠΎΠ»ΠΆΠ½Π° Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒΡΡ "User". Π­Ρ‚ΠΎ ΡƒΠ»ΡƒΡ‡ΡˆΠ°Π΅Ρ‚ Ρ‡ΠΈΡ‚Π°Π΅ΠΌΠΎΡΡ‚ΡŒ ΠΈ ΠΏΠΎΠ½ΡΡ‚Π½ΠΎΡΡ‚ΡŒ ΠΊΠΎΠ΄Π°.

2. ИспользованиС СдинствСнного числа

Π’ Django принято ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠΌΠ΅Π½Π° ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ Π² СдинствСнном числС. НапримСр, вмСсто "Users" ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ "User". Π­Ρ‚ΠΎ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΈΠ·Π±Π΅ΠΆΠ°Ρ‚ΡŒ ΠΏΡƒΡ‚Π°Π½ΠΈΡ†Ρ‹, особСнно ΠΊΠΎΠ³Π΄Π° Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ Π² ΠΊΠΎΠ΄Π΅.

3. Π˜Π·Π±Π΅Π³Π°ΠΉΡ‚Π΅ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… символов ΠΈ ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ²

ΠŸΡ€ΠΈ Π½Π°Π·Ρ‹Π²Π°Π½ΠΈΠΈ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ Π² Django, слСдуСт ΠΈΠ·Π±Π΅Π³Π°Ρ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… символов, ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ² ΠΈ Π·Π°Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… слов. Имя ΠΌΠΎΠ΄Π΅Π»ΠΈ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠΎΡΡ‚ΠΎΡΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠ· Π±ΡƒΠΊΠ², Ρ†ΠΈΡ„Ρ€ ΠΈ символа подчСркивания.

4. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ CamelCase для составных слов

Если имя ΠΌΠΎΠ΄Π΅Π»ΠΈ состоит ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… слов, рСкомСндуСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²Π΅Ρ€Ρ…Π½ΠΈΠΉ рСгистр для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π½ΠΎΠ²ΠΎΠ³ΠΎ слова. НапримСр, "BlogPost" ΠΈΠ»ΠΈ "UserProfile". Π­Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ имя ΠΌΠΎΠ΄Π΅Π»ΠΈ Π±ΠΎΠ»Π΅Π΅ Ρ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΠΈ ΡƒΠ»ΡƒΡ‡ΡˆΠ°Π΅Ρ‚ Π΅Π³ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅.

5. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ осмыслСнныС ΠΈΠΌΠ΅Π½Π° для связСй

ΠŸΡ€ΠΈ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠΈ связСй ΠΌΠ΅ΠΆΠ΄Ρƒ модСлями, рСкомСндуСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ осмыслСнныС ΠΈΠΌΠ΅Π½Π°. НапримСр, Ссли модСль "User" ΠΈΠΌΠ΅Π΅Ρ‚ внСшний ΠΊΠ»ΡŽΡ‡ Π½Π° модСль "Group", Π»ΡƒΡ‡ΡˆΠ΅ Π½Π°Π·Π²Π°Ρ‚ΡŒ это ΠΏΠΎΠ»Π΅ "group" ΠΈΠ»ΠΈ "user_group", Π° Π½Π΅ просто "group_id". Π­Ρ‚ΠΎ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ Π±ΠΎΠ»Π΅Π΅ понятным ΠΈ ΡƒΠΏΡ€ΠΎΡ‰Π°Π΅Ρ‚ Ρ‡Ρ‚Π΅Π½ΠΈΠ΅.

6. Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ прСфиксов ΠΈΠ»ΠΈ суффиксов

Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ прСфикс ΠΈΠ»ΠΈ суффикс ΠΊ ΠΈΠΌΠ΅Π½Π°ΠΌ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ для Π»ΡƒΡ‡ΡˆΠ΅ΠΉ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΊΠΎΠ΄Π°. НапримСр, Ссли Ρƒ вас Π΅ΡΡ‚ΡŒ нСсколько ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ, связанных с ΠΏΡ€ΠΎΠ΄ΡƒΠΊΡ‚Π°ΠΌΠΈ, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ прСфикс "Product" ΠΈΠ»ΠΈ суффикс "Model" ΠΊ ΠΈΡ… ΠΈΠΌΠ΅Π½Π°ΠΌ. НапримСр, "ProductCategory" ΠΈΠ»ΠΈ "CategoryModel". Π­Ρ‚ΠΎ ΠΏΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ Π»ΡƒΡ‡ΡˆΠ΅ ΡΡ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΈ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠΎΠ΄ Π±ΠΎΠ»Π΅Π΅ ясным.

ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ΠΊΠΎΠ΄Π°:

class User(models.Model):
    username = models.CharField(max_length=100)
    email = models.EmailField()

class BlogPost(models.Model):
    title = models.CharField(max_length=100)
    content = models.TextField()
    author = models.ForeignKey(User, on_delete=models.CASCADE)

Π’ ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠΌ Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹Π΅ ΠΈΠΌΠ΅Π½Π° для ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ. МодСль "User" прСдставляСт ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈ ΠΈΠΌΠ΅Π΅Ρ‚ поля "username" ΠΈ "email". МодСль "BlogPost" прСдставляСт Π±Π»ΠΎΠ³ΠΎΠ²ΡƒΡŽ запись ΠΈ ΠΈΠΌΠ΅Π΅Ρ‚ поля "title", "content" ΠΈ связь "author" с модСлью "User".

ΠŸΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ΅ Π½Π°Π·Ρ‹Π²Π°Π½ΠΈΠ΅ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ Π² Django - это Π²Π°ΠΆΠ½Ρ‹ΠΉ аспСкт Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π²Π΅Π±-ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ. Π­Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ ΠΊΠΎΠ΄ Π±ΠΎΠ»Π΅Π΅ Ρ‡ΠΈΡ‚Π°Π΅ΠΌΡ‹ΠΌ, ΡƒΠ»ΡƒΡ‡ΡˆΠ°Π΅Ρ‚ Π΅Π³ΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΈ обСспСчиваСт Π»ΡƒΡ‡ΡˆΡƒΡŽ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°. БлСдуя Π²Ρ‹ΡˆΠ΅ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΡΠ»Π΅Π½Π½Ρ‹ΠΌ ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ ΠΈ рСкомСндациям, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ эффСктивныС ΠΈ понятныС ΠΌΠΎΠ΄Π΅Π»ΠΈ Π² Π²Π°ΡˆΠΈΡ… Django-ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ….

Π’ΠΈΠ΄Π΅ΠΎ ΠΏΠΎ Ρ‚Π΅ΠΌΠ΅

ΠŸΠΎΠ½ΡΡ‚ΡŒ Django. РазбираСмся с модСлями ΠΈ Π‘Π°Π·ΠΎΠΉ Π”Π°Π½Π½Ρ‹Ρ…. Объясняю просто ΠΈ с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ.

#4. ΠžΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ. ΠœΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ: созданиС ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ | Django ΡƒΡ€ΠΎΠΊΠΈ

#23. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ€Π° ΠΌΠΎΠ΄Π΅Π»ΠΈ | Π£Ρ€ΠΎΠΊΠΈ ΠΏΠΎ Django 4

ΠŸΠΎΡ…ΠΎΠΆΠΈΠ΅ ΡΡ‚Π°Ρ‚ΡŒΠΈ:

πŸ” Django: ΠΊΠ°ΠΊ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ Π½Π°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΌΠΎΠ΄Π΅Π»ΠΈ для ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½ΠΈΡ SEO ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ

πŸ”§ Как Ρ€Π°Π·Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ Django Π½Π° хостингС: пошаговая инструкция для Π½Π°Ρ‡ΠΈΠ½Π°ΡŽΡ‰ΠΈΡ