Перейти к публикации
Дедовский городской форум
RaD

Создание проекта

Рекомендованные сообщения

Создаём проект:

 

asus:~# cd ~/django
django-admin startproject project

 

Настройки проекта:

 

--- settings.py.orig	2008-03-15 23:49:01.000000000 +0300
+++ settings.py	2008-03-15 23:54:59.000000000 +0300
@@ -4,28 +4,28 @@
TEMPLATE_DEBUG = DEBUG

ADMINS = (
-	# ('Your Name', 'your_email@domain.com'),
+	('Ruslan Popov', 'admin@project'),
)

MANAGERS = ADMINS

-DATABASE_ENGINE = ''		   # 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
-DATABASE_NAME = ''			 # Or path to database file if using sqlite3.
-DATABASE_USER = ''			 # Not used with sqlite3.
-DATABASE_PASSWORD = ''		 # Not used with sqlite3.
-DATABASE_HOST = ''			 # Set to empty string for localhost. Not used with sqlite3.
-DATABASE_PORT = ''			 # Set to empty string for default. Not used with sqlite3.
+DATABASE_ENGINE = 'mysql'	  # 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'.
+DATABASE_NAME = 'project'	  # Or path to database file if using sqlite3.
+DATABASE_USER = 'project'	  # Not used with sqlite3.
+DATABASE_PASSWORD = 'q1'	   # Not used with sqlite3.
+DATABASE_HOST = '127.0.0.1'	# Set to empty string for localhost. Not used with sqlite3.
+DATABASE_PORT = '3306'		 # Set to empty string for default. Not used with sqlite3.

# Local time zone for this installation. Choices can be found here:
# http://en.wikipedia.org/wiki/List_of_tz_zones_by_name
# although not all choices may be available on all operating systems.
# If running in a Windows environment this must be set to the same as your
# system time zone.
-TIME_ZONE = 'America/Chicago'
+TIME_ZONE = 'Europe/Moscow'

# Language code for this installation. All choices can be found here:
# http://www.i18nguy.com/unicode/language-identifiers.html
-LANGUAGE_CODE = 'en-us'
+LANGUAGE_CODE = 'ru'

SITE_ID = 1

@@ -35,17 +35,17 @@

# Absolute path to the directory that holds media.
# Example: "/home/media/media.lawrence.com/"
-MEDIA_ROOT = ''
+MEDIA_ROOT = '/var/www-project/media/'

# URL that handles the media served from MEDIA_ROOT. Make sure to use a
# trailing slash if there is a path component (optional in other cases).
# Examples: "http://media.lawrence.com", "http://example.com/media/"
-MEDIA_URL = ''
+MEDIA_URL = 'http://project/media/'

# URL prefix for admin media -- CSS, JavaScript and images. Make sure to use a
# trailing slash.
# Examples: "http://foo.com/media/", "/media/".
-ADMIN_MEDIA_PREFIX = '/media/'
+ADMIN_MEDIA_PREFIX = 'http://project/adminmedia/'

# Make this unique, and don't share it with anybody.
SECRET_KEY = '+&oxu(m-yg6#0am-pdcxb%^#ok(*w&w6gtrh8grdc3m3$=s(#j'
@@ -70,6 +70,7 @@
 # Put strings here, like "/home/html/django_templates" or "C:/www/django/templates".
 # Always use forward slashes, even on Windows.
 # Don't forget to use absolute paths, not relative paths.
+	'/home/rad/project/templates'
)

INSTALLED_APPS = (
@@ -77,4 +78,5 @@
 'django.contrib.contenttypes',
 'django.contrib.sessions',
 'django.contrib.sites',
+	  'django.contrib.admin',
+	'project'
)

 

Теперь создадим базу данных:

 

asus:~# mysql -u root -p
Enter password:
Welcome to the MySQL monitor.  Commands end with; or \g.
Your MySQL connection id is 66
Server version: 5.0.32-Debian_7etch1-log Debian etch distribution

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> CREATE USER project@localhost IDENTIFIED BY 'q1';
Query OK, 0 rows affected (0.12 sec)

mysql> CREATE DATABASE project;
Query OK, 1 row affected (0.15 sec)

mysql> GRANT ALL ON project.* TO project@localhost;
Query OK, 0 rows affected (0.04 sec)

mysql> EXIT

 

Создаём виртуальный сайт, не забыв прописать его в /etc/hosts:

 

asus:~# cat /etc/apache2/sites-enabled/project

<VirtualHost *>
ServerName project
ServerAdmin rad@project

DocumentRoot /var/www-project/
<Directory />
	Options FollowSymLinks
	AllowOverride None
</Directory>
<Directory /var/www-project/>
	Options Indexes FollowSymLinks MultiViews
	AllowOverride None
	Order allow,deny
	allow from all
</Directory>

ErrorLog /var/log/apache2/error-project.log

# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn

CustomLog /var/log/apache2/access-project.log combined
ServerSignature On

<Location />
	SetHandler python-program
		PythonHandler django.core.handlers.modpython
		SetEnv DJANGO_SETTINGS_MODULE project.settings
		PythonPath "['/home/rad/django/'] + sys.path"
		PythonDebug On
</Location>

<Location /css/>
	SetHandler None
</Location>

<Location /media/>
	SetHandler None
</Location>

<Location /adminmedia/>
	SetHandler None
</Location>
</VirtualHost>

asus:~# cd /etc/apache2/sites-enabled
asus:sites-enabled# ln -s ../sites-available/project project
asus:sites-enabled# mkdir /var/www-project/
asus:sites-enabled# cd /var/www-project
asus:www-project# ln -s /usr/share/python-support/python-django/django/contrib/admin/media adminmedia
asus:var# cd ..
asus:var# chown -R www-data:www-data www-project

 

Устанавливаем схему базы данных:

 

rad@asus:~/django/project$ python manage.py syncdb
Creating table auth_message
Creating table auth_group
Creating table auth_user
Creating table auth_permission
Creating table django_content_type
Creating table django_session
Creating table django_site
Creating table django_admin_log

You just installed Django's auth system, which means you don't have any superusers defined.
Would you like to create one now? (yes/no): yes
Username (Leave blank to use 'rad'):
E-mail address: admin@project
Password:
Password (again):
Superuser created successfully.
Installing index for auth.Message model
Installing index for auth.Permission model
Installing index for admin.LogEntry model

 

Перезапускаем веб-сервер:

 

asus:~# /etc/init.d/apache2 restart

 

Теперь можно пойти браузером на http://project/ и увидеть страницу:

 

It worked!

Congratulations on your first Django-powered page.

Of course, you haven't actually done any work yet. Here's what to do next:

If you plan to use a database, edit the DATABASE_* settings in project/settings.py.

Start your first app by running python project/manage.py startapp [appname].

You're seeing this message because you have DEBUG = True in your Django settings file and you haven't configured any URLs. Get to work!

 

Для активации интерфейса администратора надо расскоментировать в файле urls.py строку:

 

(r'^admin/', include('django.contrib.admin.urls')),

 

Если перейти по ссылке http://project/admin/, то должен отображиться красивый веб интерфейс.

Изменено пользователем RaD

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Хотелось бы узнать: сколько времени потребуется, используя данную технологию, для того чтобы сделать подобный сайт http://www.sinotech.ru (в данном случае Joomla). Конечно, при условии что програмировать будет один человек, и на сколько легко будет сверстать дизайн сайта?

 

....и вообще, есть ли примеры небольших сайтов используемых данную технологию.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Хотелось бы узнать: сколько времени потребуется, используя данную технологию, для того чтобы сделать подобный сайт ...

Хотелось бы узнать кто будет тратить на это время? Особенно в нашей локалке.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Другими словами: Это всё для крутых разработок, где работает большой коллектив - для камерников это не эффективно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Другими словами: Это всё для крутых разработок, где работает большой коллектив - для камерников это не эффективно.

Где? Где я это написал? :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Интересно - эффективно - ли использовать это в мелких проектах?

Стоит ли тратить силы на изучения этой среды разработки? Ведь даже - чтоб сделать хороший сайт на Друпале (например) - надо потратить уйму времени и других ресурсов. Обычно фрилансеру приходится убить около года чтобы хорошо изучить особенности и подготовить набор расширений одной КМС.

 

Я понимаю - когда работает коллектив, где ВЕБ дизайнер не будет заниматься HTML вёрсткой и оптимизацией, а програмист не будет тратить время на поиск картинок.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Другими словами: Это всё для крутых разработок, где работает большой коллектив - для камерников это не эффективно.

Где? Где я это написал? :)

Я, конечно, не совсем в данной теме. Но знаю точно, что крутой программист не будет делать сайт полностью, а будет писать небольшие модули и получать за это бешенные бабки.

Я и хочу узнать о эффективности данной технологии в использовании одним человеком или небольшим коллективом.

Ведь не спроста крупнейшие порталы, такие как 1C, Cosmopolitan, Горбушкин двор, Сайт Департамента образования Москвы, Интернет-магазин

Corbina Telecom, «Ростелеком» и другие сайты пользуют готовые решения на КМС (в данном случае Битрикс). А небольшие компании могут изготовить только сайты визитки, украсив их флэшем. А более менее объёмный сайт будет стоить от 30 000 евро - и конечно над ним будет работать не 3 человека.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

ftp://172.17.20.45/free4win32/django-win32 - здесь есть всё необходимое для Windows адептов

 

p.s. после полугода использования джанго, оно мне нравится всё больше и больше (с) реклама

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
...

Я и хочу узнать о эффективности данной технологии в использовании одним человеком или небольшим коллективом.

...

Для изучения Django я сделал небольшой сайтик.

Примерные трудозатраты: дважды по 50 минут каждый рабочий день в течении двух месяцев.

Получается 100 минут умножить на 40 дней. Итого: 4000 минут или около 66 часов или 8 полных рабочих дней.

Такие результаты. Причём большую часть времени я потратил на извращения с отображением страниц в разных браузерах.

Изменено пользователем RaD

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Добавил небольшой раздел про отладку:

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

emacs в работе

post-872-1250955380.png

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Да это я для вас включил "понты". Так я просто одним окном с файлом пользуюсь :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Вы ещё PHP-шите, тогда вам на http://djbook.ru/

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А какие конкретно плюсы в Django по сравнению с php? Не в вашем случае, а для любого среднестатистического разработчика? Можно с примерами?

Изменено пользователем MaTpOcKuH

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
А какие конкретно плюсы в Django по сравнению с php? Не в вашем случае, а для любого среднестатистического разработчика? Можно с примерами?

Django и PHP сравнивать напрямую нельзя. Можно сравнить Python и PHP.

 

Кратко:

Синтаксис Python проще, короче, чем PHP. Жёсткое форматирование кода - нет споров о том, как форматировать код.

 

Вы лучше укажите задачу на PHP, приведите код. Я покажу как это делается на Python/Django.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

PHP-шники активные есть?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Опять этот вездессущий робот.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ищем php-шника, мечтающего о развитии :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Ищем php-шника, мечтающего о развитии :)

 

Ты сам себя что ли ищешь?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Язык програмирования

таки уже не рулит?)

Рулит, просто надо один код с PHP перегнать на Python.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
It's new for me,but learn must this code.

В чём смысл данного потока сознания?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

×
×
  • Создать...