python做项目的步骤_python django web项目的构建步骤(一)

一个开放源代码的Web应用框架,由Python写成。采用了MVC的软件设计模式,即模型M,视图V和控制器C。它最初是被开发来用于管理劳伦斯出版集团旗下的一些以新闻内容为主的网站的。并于2005年7月在BSD许可证下发布。

1、安装好python django(这步略过,安装过程自行完成,网上安装步骤很多),安装的版本不同而生成的文件目录也不同,这里用的是1.6.5的版本的django;[root@node3 ~]# django-admin.py --version

1.6.5

2、创建django项目[root@node3 python]# django-admin.py startproject mysite2

[root@node3 python]# cd mysite2/

[root@node3 mysite2]# ll

total 8

-rwxr-xr-x. 1 root root 250 Jun 9 22:20 manage.py

drwxr-xr-x. 2 root root 4096 Jun 9 22:20 mysite2

以上的是1.6.5版本生成的一个manage.py和一个目录mysite2,如是1.3.7的版本的话生成的是以下的格式:[root@node1 python]# cd mysite2/

[root@node1 mysite2]# ll

total 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这个套接字;[root@node3 mysite2]# python manage.py runserver 0.0.0.0:8000

5、然后就可以在页面上访问了,用本机的地址加端口就可以访问:http://10.17.1.151:8000/

wKioL1V37bySBlcSAAFK4H3r4GY139.jpg

################ 以下是新建一个APP的简单设置步骤 ############

1、使用manage.py创建一个APP;[root@node3 mysite2]# python manage.py startapp myapp

[root@node3 mysite2]# ll

total 12

-rwxr-xr-x. 1 root root 250 Jun 9 22:20 manage.py

drwxr-xr-x. 2 root root 4096 Jun 10 01:47 myapp

drwxr-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文件中新建一个类,做个类代表对应数据库中的一张表;[root@node3 myapp]# vim models.py

from django.db import models

class 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)

## 创建完所需要的表之后就可以使用下面命令进行数据库的同步了:[root@node3 mysite2]# python manage.py syncdb

Creating tables ...

Creating table django_admin_log

Creating table auth_permission

Creating table auth_group_permissions

Creating table auth_group

Creating table auth_user_groups

Creating table auth_user_user_permissions

Creating table auth_user

Creating table django_content_type

Creating table django_session

Creating table myapp_teacher

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 'root'): # admin的用户帐号

Email address: abc@test.com

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 changed

MariaDB [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类:[root@node3 myapp]# vim admin.py

from myapp.models import Student, Teacher

class 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来访问到了,在这里就直接可以操作数据库表。

wKiom1V37R_DvAdBAAEkpLVSCdw452.jpgwKioL1V37xmC_TGgAAJcpReuEH4566.jpgwKioL1V37yzRew6xAAFZUWQTDx4261.jpg

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值
>