М97 Изучаем Python: программирование игр, визуализация данных, веб-приложения



Pdf көрінісі
бет288/334
Дата18.10.2023
өлшемі6,19 Mb.
#186390
1   ...   284   285   286   287   288   289   290   291   ...   334
Байланысты:
Изучаем Python

source ll_env/bin/activate
(ll_env)learning_log$ 
python manage.py startapp learning_logs

(ll_env)learning_log$ 
ls


Начало работы над приложением
399
db.sqlite3 learning_log learning_logs ll_env manage.py

(ll_env)learning_log$ 
ls learning_logs/
admin.py __init__.py migrations models.py tests.py views.py
Команда 
startapp
имя_приложения
приказывает Django создать инфраструктуру, 
необходимую для построения приложения. Заглянув сейчас в каталог проекта, вы 
найдете в нем новый подкаталог с именем 
learning_logs

. Откройте этот каталог, 
чтобы увидеть, какие файлы были созданы Django 

. Самые важные файлы в этом 
каталоге — 
models .py

admin .py
и 
views .py
. Файл 
models .py
будет использоваться для 
определения данных, которыми нужно управлять в нашем приложении. К файлам 
admin .py
и 
views .py
мы вернемся позднее.
Определение моделей
Подумаем, какие данные нам понадобятся. Каждый пользователь создает набор 
тем в своем журнале. Каждая запись, которую он сделает, будет привязана к опре-
деленной теме, а записи будут выводиться в текстовом виде. Также необходимо 
хранить временную метку каждой записи, чтобы пользователь знал, когда эта за-
пись была создана.
Откройте файл 
models .py
и просмотрите его текущее содержимое:
models.py
from django.db import models
# Создайте здесь свои модели.
Модуль с именем 
models
импортируется автоматически, и нам предлагается создать 
свои модели. 
Модель
сообщает Django, как работать с данными, которые будут хра-
ниться в приложении. С точки зрения кода модель представляет собой обычный 
класс; она содержит атрибуты и методы, как и все остальные классы, рассматри-
вавшиеся нами ранее. Вот как выглядит модель тем обсуждения, которые будут 
сохраняться пользователями:
from django.db import models
class Topic(models.Model):
"""Тема, которую изучает пользователь"""

text = models.CharField(max_length=200)

date_added = models.DateTimeField(auto_now_add=True)

def __str__(self):
"""Возвращает строковое представление модели."""
return self.text
Мы создали класс с именем 
Topic
, наследующий от 
Model
— родительского клас-
са, включенного в Django и определяющего базовую функциональность модели. 
В класс 
Topic
добавляются два атрибута: 
text
и 
date_added
.


400

Достарыңызбен бөлісу:
1   ...   284   285   286   287   288   289   290   291   ...   334




©engime.org 2024
әкімшілігінің қараңыз

    Басты бет