Образовательный проект «SnakeProject» Михаила Козлова

Навигация

⇒ Python ⇐

CISCO

Voice(Asterisk\Cisco)

Microsoft

Powershell

SQL\T-SQL

FreeBSD and Nix

Общая

WEB Разработка

ORACLE SQL \ JAVA

Мото

Стрельба, пневматика, оружие

Саморазвитие и психология


Приложение, модели и админка в python django


Продолжаем серию статей по Python и Django!

Предыдущие:

Установка django на windows 7

Запуск первого проекта в Django

Перейдем в папку проекта

cd C:\django_code\prog\

-----------------------
Пропишем имя будущего приложения "firstapp"

C:\django_code\prog\prog\settings.py


INSTALLED_APPS = (
    'django.contrib.admin',
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.messages',
    'django.contrib.staticfiles',
    'firstapp',
)

Локализируем

LANGUAGE_CODE = 'ru'

-----------------------

Создадим приложение "firstapp"

C:\django_code\prog>C:\Python33\python.exe C:\Python33\Lib\site-packages\Django-1.7.1-py3.3.egg\django\bin\django-admin.py startapp firstapp

-----------------------
Модели по сути являются схемой базы данных.

C:\django_code\prog\firstapp\models.py


from django.db import models

class Poll(models.Model):
    question = models.CharField(max_length=200)
    pub_date = models.DateTimeField('date published')

class Choice(models.Model):
    poll = models.ForeignKey(Poll)
    choice = models.CharField(max_length=200)
    votes = models.IntegerField()
    
-----------------------
Попытаемся создать таблицы баз данных на основе моделей приложения
(тут я столкнулся с ошибкой)

C:\django_code\prog>C:\Python33\python.exe C:\django_code\prog\manage.py sql firstapp
CommandError: App 'firstapp' has migrations. Only the sqlmigrate and sqlflush co
mmands can be used when an app has migrations.

-----------------------
А вот, что выдало "migrate"

C:\django_code\prog>C:\Python33\python.exe C:\django_code\prog\manage.py migrate

Operations to perform:
  Apply all migrations: auth, admin, sessions, contenttypes
Running migrations:
  No migrations to apply.
  Your models have changes that are not yet reflected in a migration, and so won
't be applied.
 
Run 'manage.py makemigrations' to make new migrations, and then re-run 'manage
.py migrate' to apply them.

-----------------------
Делаем "makemigrations"

C:\django_code\prog>C:\Python33\python.exe C:\django_code\prog\manage.py makemigrations


Migrations for 'firstapp':
  0001_initial.py:
    - Create model Choice
    - Create model Poll
    - Add field poll to choice
    
-----------------------
Команда syncdb анализирует значение INSTALLED_APPS и создает все необходимые таблицы 
в базе данных используя настройки базы данных из файла settings.py.

C:\django_code\prog>C:\Python33\python.exe C:\django_code\prog\manage.py syncdb

Operations to perform:
  Apply all migrations: sessions, contenttypes, admin, firstapp, auth
Running migrations:
  Applying firstapp.0001_initial... OK

Создадим пользователя(При первом запуске):
  
You have installed Django's auth system, and don't have any superusers defined.
Would you like to create one now? (yes/no): yes
Username: user
Email address:
Password:
Password (again):
Superuser created successfully.

-----------------------
Зарегистрируем модель "Poll" приложения "firstapp" в админке:

C:\django_code\prog\firstapp\admin.py

from firstapp.models import Poll
from django.contrib import admin

admin.site.register(Poll)

-----------------------
функция автоматического обнаружения файлов admin.py в наших приложениях "autodiscover"

C:\django_code\prog\prog\urls.py

from django.conf.urls import patterns, include, url
from django.contrib import admin

admin.autodiscover()

urlpatterns = patterns('',
    # Examples:
    # url(r'^$', 'prog.views.home', name='home'),
    # url(r'^blog/', include('blog.urls')),

    url(r'^admin/', include(admin.site.urls)),
)

-----------------------
Запускаем сервер и проверяем сайт и админку

C:\django_code\prog>C:\Python33\python.exe C:\django_code\prog\manage.py runserver


Performing system checks...

System check identified no issues (0 silenced).
November 01, 2014 - 15:48:13
Django version 1.7.1, using settings 'prog.settings'
Starting development server at http://127.0.0.1:8000/
Quit the server with CTRL-BREAK.

Заходим браузером по ссылкам:

http://127.0.0.1:8000/
http://127.0.0.1:8000/admin/

На этом все, видео выложу на моем канале YouTube!


Комментарии пользователей

Оставленных комментариев: 2Добавить комментарий
Анонимам нельзя оставоять комментарии, зарегистрируйтесь!
AAA (11.06.2015 в 21:03)ответить
Миш, поставил я Python 3.4.3 и Django 1.8.2. и не хочет у меня показывать вопросы. Показывает только админку. И стандартный settings.py отличается слегка от того, что ты показывал в ролике. Почему такое может быть?
MSnake (16.06.2015 в 11:55)ответить
Извиняюсь за запоздание, работа\развод\погода - говно. К сожалению сейчас "позырить" нет возможности именно на этих версиях дистрибутивов, попробуйте питон версии 3.3

Контакты Группа ВК Сборник материалов по Cisco, Asterisk, Windows Server, Python и Django, SQL и T-SQL, FreeBSD и LinuxКод обмена баннерами Видео к IT статьям на YoutubeВидео на другие темы Смотреть
Мои друзья: Советы, помощь, инструменты для сис.админа, статическая и динамическая маршрутизация, FreeBSD

© Snakeproject.ru создан в 2013 году.
При копировании материала с сайта - оставьте ссылку.
Весь материал на сайте носит ознакомительный характер,
за его использование другими людьми, автор ответственности не несет.

Рейтинг@Mail.ru
Рейтинг@Mail.ru Яндекс.Метрика





Поддержать автора и проект