首页 > 代码库 > web开发框架Django笔记整理
web开发框架Django笔记整理
安装 python setup.py install
使用
1.创建工程
django-admin.py startproject Data_Collet_Center
2.运行开发server
python manage.pyrunserver 0.0.0.0:8000
3.创建应用
python manage.py startapp DCC
4.配置
Data_collect_Center/settings.py
配置DB:
‘ENGINE‘: ‘django.db.backends.sqlite3‘, # Add ‘postgresql_psycopg2‘, ‘mysql‘, ‘sqlite3‘ or ‘oracle‘.
‘NAME‘: ‘my.db‘,
添加APP:
INSTALLED_APPS = () 中加入刚添加的DCC
Data_Collect_Center/urls.py
函数末尾添加:
url(r‘^index/$‘,‘DCC.views.index‘),
DCC/views.py
from django.http import HttpResponse
def index(req):
return HttpResponse("<h1>hello world!</h1>")
5.用apache和wsgi部署django
5.1 django start project
django-admin.py startproject Data_Collect_Center
5.2 django应用目录tree
/opt/Data_Collect_Center/
|-- DCC
| |-- admin.py
| |-- admin.pyc
| |-- __init__.py
| |-- __init__.pyc
| |-- models.py
| |-- models.pyc
| |-- tests.py
| |-- views.py
| `-- views.pyc
|-- django.wsgi
|-- manage.py
`-- Data_Collect_Center
|-- __init__.py
|-- __init__.pyc
|-- settings.py
|-- settings.pyc
|-- urls.py
|-- urls.pyc
|-- wsgi.py
`-- wsgi.pyc
5.3 apache及mod_wsgi安装
yum -y install httpd mod_wsgi
5.4 vim /etc/httpd/conf.d/wsgi.conf
LoadModule wsgi_module modules/mod_wsgi.so
WSGIScriptAlias / "/opt/Data_Collect_Center/django.wsgi"
<Directory "/opt/Data_Collect_Center">
Order Deny,Allow
Allow from all
</Directory>
5.5 编辑django.wsgi
cat /opt/Data_Collect_Center/django.wsgi
# -*- coding: utf-8 -*-
import os
import sys
os.environ[‘DJANGO_SETTINGS_MODULE‘] = ‘Data_Collect_Center.settings‘
os.environ[‘PYTHON_EGG_CACHE‘] = ‘/tmp/.python-eggs‘
current_dir = os.path.dirname(__file__)
if current_dir not in sys.path: sys.path.append(current_dir)
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
5.6 重启httpd即可
6、django连接mysql配置
6.1 安装MySQLdb
yum -y install MySQL-python
6.2 配置settings.py的DATABASES
DATABASES = {
‘default‘: {
‘ENGINE‘: ‘django.db.backends.mysql‘,
‘NAME‘: ‘Data_Collect_Center‘,
‘USER‘: ‘mysql1‘,
‘PASSWORD‘: ‘123456‘,
‘HOST‘: ‘X.X.X.X‘,
‘PORT‘: ‘3306‘,
}
6.3 mysql安装及配置
6.3.1 mysql安装
yum -y install mysql-server mysql
6.3.2 mysql配置(创建数据库,用户名及密码)
mysql> create database Data_Collect_Center;
mysql> grant all privileges on Data_Collect_Center.* to mysql1@"%" identified by "123456";
6.3.3 编写模型 DDC/models.py
from django.db import models
class Publisher(models.Model):
name = models.CharField(max_length=30)
address = models.CharField(max_length=50)
city = models.CharField(max_length=60)
state_province = models.CharField(max_length=30)
country = models.CharField(max_length=50)
website = models.URLField()
class Author(models.Model):
first_name = models.CharField(max_length=30)
last_name = models.CharField(max_length=40)
email = models.EmailField()
class Book(models.Model):
title = models.CharField(max_length=100)
authors = models.ManyToManyField(Author)
publisher = models.ForeignKey(Publisher)
publication_date = models.DateField()
6.3.4 验证模型的有效性
python manage.py validate
6.3.5 模型没问题后,运行下面命令来生成CREATE TABLE语句
CREATE TABLE `DCC_publisher` (
`id` integer AUTO_INCREMENT NOT NULL PRIMARY KEY,
`name` varchar(30) NOT NULL,
`address` varchar(50) NOT NULL,
`city` varchar(60) NOT NULL,
`state_province` varchar(30) NOT NULL,
`country` varchar(50) NOT NULL,
`website` varchar(200) NOT NULL
)
;
CREATE TABLE `DCC_author` (
`id` integer AUTO_INCREMENT NOT NULL PRIMARY KEY,
`first_name` varchar(30) NOT NULL,
`last_name` varchar(40) NOT NULL,
`email` varchar(75) NOT NULL
)
;
CREATE TABLE `DCC_book_authors` (
`id` integer AUTO_INCREMENT NOT NULL PRIMARY KEY,
`book_id` integer NOT NULL,
`author_id` integer NOT NULL,
UNIQUE (`book_id`, `author_id`)
)
;
ALTER TABLE `DCC_book_authors` ADD CONSTRAINT `author_id_refs_id_274fbb64` FOREIGN KEY (`author_id`) REFERENCES `DCC_author` (`id`);
CREATE TABLE `DCC_book` (
`id` integer AUTO_INCREMENT NOT NULL PRIMARY KEY,
`title` varchar(100) NOT NULL,
`publisher_id` integer NOT NULL,
`publication_date` date NOT NULL
)
;
ALTER TABLE `DCC_book` ADD CONSTRAINT `publisher_id_refs_id_5bbe8bc8` FOREIGN KEY (`publisher_id`) REFERENCES `DCC_publisher` (`id`);
ALTER TABLE `DCC_book_authors` ADD CONSTRAINT `book_id_refs_id_7172d865` FOREIGN KEY (`book_id`) REFERENCES `DCC_book` (`id`);
CREATE INDEX `DCC_book_authors_36c249d7` ON `DCC_book_authors` (`book_id`);
CREATE INDEX `DCC_book_authors_e969df21` ON `DCC_book_authors` (`author_id`);
CREATE INDEX `DCC_book_81b79144` ON `DCC_book` (`publisher_id`);
COMMIT;
6.3.6 同步数据库
python manage.py syncdb
6.3.7 检查
mysql -umysql1 -h 172.23.178.43 -p123456
本文出自 “muzinan的技术博客” 博客,请务必保留此出处http://muzinan110.blog.51cto.com/684213/1439558