標籤:python django mysql django web
Django
一個開放原始碼的Web應用程式框架,由Python寫成。採用了MVC的軟體設計模式,即模型M,視圖V和控制器C。它最初是被開發來用於管理勞倫斯出版集團旗下的一些以新聞內容為主的網站的。並於2005年7月在BSD許可證下發布。
1、安裝好python django(這步略過,安裝過程自行完成,網上安裝步驟很多),安裝的版本不同而產生的檔案目錄也不同,這裡用的是1.6.5的版本的django;
[[email protected] ~]# django-admin.py --version1.6.5
2、建立django項目
[[email protected] python]# django-admin.py startproject mysite2[[email protected] python]# cd mysite2/[[email protected] mysite2]# lltotal 8-rwxr-xr-x. 1 root root 250 Jun 9 22:20 manage.pydrwxr-xr-x. 2 root root 4096 Jun 9 22:20 mysite2
以上的是1.6.5版本產生的一個manage.py和一個目錄mysite2,如是1.3.7的版本的話產生的是以下的格式:
[[email protected] python]# cd mysite2/[[email protected] mysite2]# lltotal 16-rw-r--r--. 1 root root 0 Jun 10 10:19 __init__.py-rw-r--r--. 1 root root 503 Jun 10 10:19 manage.py-rw-r--r--. 1 root root 5203 Jun 10 10:19 settings.py-rw-r--r--. 1 root root 568 Jun 10 10:19 urls.py
3、這裡我們還是以1.6.5的版本為例說明問題,如果我們需要串連資料庫,那我們需要去修改mysite2檔案夾裡的settings.py檔案;
DATABASES = { ‘default‘: { ‘ENGINE‘: ‘django.db.backends.mysql‘, # 需要串連什麼資料庫 ‘NAME‘: ‘mysite2‘,# 需要串連的資料庫名 ‘USERNAME‘: ‘root‘,# 串連資料庫的使用者名稱 ‘PASSWORD‘: ‘linux‘,# 串連資料庫的密碼 ‘PORT‘: ‘3306‘,# 連接埠 } }我們還可以改一下時區和使用的語言LANGUAGE_CODE = ‘en-zh‘# 中文TIME_ZONE = ‘Asia/Shanghai‘# 亞洲,上海
4、之後就可以啟動django了,切換到manage.py目錄檔案下,如不寫0.0.0.0:8000(監聽所有地址),那預設是監聽127.0.0.1:8000這個通訊端;
[[email protected] mysite2]# python manage.py runserver 0.0.0.0:8000
5、然後就可以在頁面上訪問了,用原生地址加連接埠就可以訪問:
http://10.17.1.151:8000/
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/6E/44/wKioL1V37bySBlcSAAFK4H3r4GY139.jpg" title="QQ20150610113219.jpg" alt="wKioL1V37bySBlcSAAFK4H3r4GY139.jpg" />
################ 以下是建立一個APP的簡單設定步驟 ############
1、使用manage.py建立一個APP;
[[email protected] mysite2]# python manage.py startapp myapp[[email protected] mysite2]# lltotal 12-rwxr-xr-x. 1 root root 250 Jun 9 22:20 manage.pydrwxr-xr-x. 2 root root 4096 Jun 10 01:47 myappdrwxr-xr-x. 2 root root 4096 Jun 9 23:29 mysite2
2、為了使 Django 認識到新應用程式的存在,還需要向 settings.py 檔案中的 INSTALLED_APPS 添加一個條目。
INSTALLED_APPS = ( ‘django.contrib.admin‘, ‘django.contrib.auth‘, ‘django.contrib.contenttypes‘, ‘django.contrib.sessions‘, ‘django.contrib.messages‘, ‘django.contrib.staticfiles‘, ‘myapp‘,添加建立的app )
3、切換到myapp中,建立一個模型,也就是在moduls.py檔案中建立一個類,做個類代表對應資料庫中的一張表;
[[email protected] myapp]# vim models.pyfrom django.db import modelsclass Teacher(models.Model): name = models.CharField(max_length=30) gender = models.CharField(max_length=5) age = models.CharField(max_length=5) job = models.CharField(max_length=50) def __unicode__(self): return "%s, %s, %s, %s" % (self.name, self.gender, self.age, self.job)class Student(models.Model): name = models.CharField(max_length=30) gender = models.CharField(max_length=5) age = models.CharField(max_length=5) course = models.CharField(max_length=50) def __unicode__(self): return "%s, %s, %s, %s" % (self.name, self.gender, self.age, self.course)
## 建立完所需要的表之後就可以使用下面命令進行資料庫的同步了:
[[email protected] mysite2]# python manage.py syncdbCreating tables ...Creating table django_admin_logCreating table auth_permissionCreating table auth_group_permissionsCreating table auth_groupCreating table auth_user_groupsCreating table auth_user_user_permissionsCreating table auth_userCreating table django_content_typeCreating table django_sessionCreating table myapp_teacherYou just installed Django‘s auth system, which means you don‘t have any superusers defined.Would you like to create one now? (yes/no): yesUsername (leave blank to use ‘root‘): # admin的使用者帳號Email address: [email protected]Password: # 這個設定是登入admin是的登入密碼Password (again): Superuser created successfully.Installing custom SQL ...Installing indexes ...Installed 0 object(s) from 0 fixture(s)
## 登入mysql資料庫就可以查看到產生的表了:
MariaDB [(none)]> use mysite2;Database changedMariaDB [mysite2]> show tables;+----------------------------+| Tables_in_mysite2 |+----------------------------+| auth_group || auth_group_permissions || auth_permission || auth_user || auth_user_groups || auth_user_user_permissions || django_admin_log || django_content_type || django_session || myapp_student |# 下面這兩個是我們需建立的表student和teacher| myapp_teacher |+----------------------------+11 rows in set (0.00 sec)MariaDB [mysite2]> desc myapp_student;+--------+-------------+------+-----+---------+----------------+| Field | Type | Null | Key | Default | Extra |+--------+-------------+------+-----+---------+----------------+| id | int(11) | NO | PRI | NULL | auto_increment || name | varchar(30) | NO | | NULL | || gender | varchar(5) | NO | | NULL | || age | varchar(5) | NO | | NULL | || course | varchar(50) | NO | | NULL | |+--------+-------------+------+-----+---------+----------------+5 rows in set (0.10 sec)MariaDB [mysite2]> desc myapp_teacher;+--------+-------------+------+-----+---------+----------------+| Field | Type | Null | Key | Default | Extra |+--------+-------------+------+-----+---------+----------------+| id | int(11) | NO | PRI | NULL | auto_increment || name | varchar(30) | NO | | NULL | || gender | varchar(5) | NO | | NULL | || age | varchar(5) | NO | | NULL | || job | varchar(50) | NO | | NULL | |+--------+-------------+------+-----+---------+----------------+5 rows in set (0.00 sec)
4、到這裡我們可以通過django的admin管理介面來添加,刪除,修改表中的資訊,即在myapp目錄中的admin.py添加一個class類:
[[email protected] myapp]# vim admin.pyfrom myapp.models import Student, Teacherclass TeacherAdmin(admin.ModelAdmin): list_display = ( ‘name‘, ‘gender‘, ‘age‘, ‘job‘, )class StudentAdmin(admin.ModelAdmin): list_display = ( ‘name‘, ‘gender‘, ‘age‘, ‘course‘, )admin.site.register(Student, StudentAdmin)admin.site.register(Teacher, TeacherAdmin)
這個儲存之後就可以在地址欄中輸入http://10.17.1.151:8000/admin來訪問到了,在這裡就直接可以操作資料庫表。
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M00/6E/48/wKiom1V37R_DvAdBAAEkpLVSCdw452.jpg" title="QQ20150610153845.jpg" alt="wKiom1V37R_DvAdBAAEkpLVSCdw452.jpg" />650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/6E/44/wKioL1V37xmC_TGgAAJcpReuEH4566.jpg" title="QQ20150610155418.jpg" alt="wKioL1V37xmC_TGgAAJcpReuEH4566.jpg" />650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/6E/44/wKioL1V37yzRew6xAAFZUWQTDx4261.jpg" title="QQ20150610155441.jpg" alt="wKioL1V37yzRew6xAAFZUWQTDx4261.jpg" />
本文出自 “溫水煮青蛙” 部落格,請務必保留此出處http://tanxw.blog.51cto.com/4309543/1660453
python django web項目的構建步驟(一)