原来是搞点php的,最近研究啦一些python之后感觉python的代码比php要性感,然后准备研究一下python的django框架,试着开发web程序。(我也是一边学一边写的,应该能给初学者一些相同的感觉,这方面的书不多,我只看了本
Django框架现在是1.5.1版本,下载了一个,解压后直接在终端python setup.py文件,就可以安装了,记着要用root权限,有些文件需要创建,需要root权限。
接下来安装完毕后,就可以使用django创建项目了django-admin.py startproject project(你的项目名),然后project文件夹就出现了。在这里如果你使用的setup.py安装的django那么django-admin.py应该在你的系统路径里面了。
然后你就可以python ./project/manage.py runserver 127.0.0.1:8009开启服务器,其实python并不一定需要Apache或者Nginx服务器,然后你在浏览器打开127.0.0.1:8009就应该出现下面的画面啦
这样子你的服务器就开启啦,下面来介绍一下开始之旅吧~~
先配置一下数据库:
在settings.py文件夹里面
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.', # Add 'postgresql_psycopg2', 'mysql', 'sqlite3' or 'oracle'.
'NAME': '', # Or path to database file if using sqlite3.
# The following settings are not used with sqlite3:
'USER': '',
'PASSWORD': '',
'HOST': '', # Empty for localhost through domain sockets or '127.0.0.1' for localhost through TCP.
'PORT': '', # Set to empty string for default.
}
}
ENGINE后面填写的是数据库的种类,比如:SQLite,Mysql等等,要这样填写django.db.backends.mysql
NAME后面填写的是你的数据库名称,例如django
USER是你的数据库用户名
PASSWORD应该都明白是数据库密码,如果没有就请空着
HOST主机在本地就填写localhost或者127.0.0.1就行
PORT是你的数据库的端口,默认是3306,使用默认时空白就好
要是仔细看看setting.py的话地下有一部分是这个,这个的配置稍后讲到
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',
# Uncomment the next line to enable the admin:
# 'django.contrib.admin',
# Uncomment the next line to enable admin documentation:
# 'django.contrib.admindocs',
)
这是你的app应用,下面解释一下里面的每一行
auth:是一个认证系统
contenttypes:是内容的框架
sessions:session框架
site:多网站管理框架
message:消息管理框架
staticfiles:静态文件管理框架
可以使用python manage.py syncdb来创建内置的各种数据表操作
下面来介绍一下创建app
python manage.py startapp jobs
这样就出现了一个jobs的文件夹
项目跟app有什么不同呢?app是一个实现某个功能的网页应用,例如一个网页日志系统,一个公共数据数据库或者一个简单的投票应用。而一个项目则是由一堆配置和应用组成的网页。一个项目可以包含多个应用,而一个应用可以使用在多个项目里。
在这里来介绍一个可以操作数据库的app
下面修改jobs里面的models.py文件
from django.db import models
class Register(models.Model):
account=models.CharField(max_length=200)
password=models.CharField(max_length=200)
这样一个简单的model就可以完成了,每个模型都由一个django.db.models.Model的子类实现,每个类都是对应这一个表。每个字段由类Field的一个实例表示,例如字符类型的字段由CharField实现。
然后在settings.py里面加上这样的一行
INSTALLED_APPS = (
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.sites',
'django.contrib.messages',
'django.contrib.staticfiles',
‘jobs’,
)
这样你的app就已经激活,你可以使用python manage.py sql polls命令来检验是否激活。应该出现下面的图片的样子
然后使用
python manage.py syncdb
然后就会出现这样,同时数据库里面也会添加上相应的数据表
这样就可以开启shell了,
python manage.py shell
因为jobs类与模型名称相同,所以会出现无法导入的现象,咱们改一下名字改成Register
然后使用from jobs.models import Register来导入我们刚刚完成的model,如果出现错误请重试上面步骤,然后
Register.objects.all()
创建一个新的Register
然后向数据库插入数据
s=Register(account='Tron',password='123')
s.save()
这样数据就应该写入了数据库,如图
这时数据库的操作完成。
p.id就会输出刚刚写入数据库的id值
现在来输出Register的所有值
>>> Register.objects.all()
[
现在已经不是一个空的列表了
#————————2013-7-5——————————
#————————Tron——————————