配置一个简单的DJango项目

一:创建及运行虚拟环境

步骤说明

1. 使用命令行在Ubuntu系统下创建一个虚拟环境如创建一个叫py3的虚拟环境 irtualenv py3
2.进入创建好的虚拟环境 workon py3
3.在虚拟环境中安装Django,

代码说明

mkvirtualenv    创建虚拟环境  
rmvirtualenv 删除虚拟环境 
virtual 虚拟机 
deactivate  退出虚拟环境  
workon  进入虚拟环境  
pip install django==1.8.2 安装版本为1.8.2的Django
pip list    当前虚拟库里面所有的包 
pip freeze  看额外的包和版本    
django-admin startproject 项目名   创建一个项目
python manage.py startapp 名字    创建自己的应用文件   

二:创建Django项目

步骤简述

1. 先创建一个Django项目,如在桌面创建一个`test`的项目
2. 将创建好的项目在Pychare中配置好操作环境如:`/home/python/.virtualenvs/py3/bin/python3.5`
3. 在test1下创建一个应用如:`booktest`
4. 在创建好的`booktest`的`models.py`模块里面写一个模型类,类必须继承`models.Model`
5. 将创建好的应用`booktest`注册到settings.py文件中的`INSTLLED_APPS`中
6. 生成迁移文件:即根据创建的模型类生成相应的sql语句
7. 执行迁移:即执行sql语句生成数据表
8. 可进入`python shell` 练习
9. 命令行中运行该项目,默认端口为8000
10.打开浏览器,输入网址“127.0.0.1:8000”可以打开默认页面,对该站点的详细操作将在下一片文档详细说明,
11. 如果修改文件不需要重启服务器,如果增删文件需要重启服务器

第一步创建好的目录说明:

manage.py:一个命令行工具,可以使你用多种方式对Django项目进行交互
内层的目录:项目的真正的Python包
_init _.py:一个空文件,它告诉Python这个目录应该被看做一个Python包
settings.py:项目的配置
urls.py:项目的URL声明
wsgi.py:项目与WSGI兼容的Web服务器入口

- 上面1~8步所用到的命令

python manage.py runserver ip:port  运行django服务
django-admin startproject test1 创建项目
python manage.py startapp booktest 创建应用
python manage.py makemigrations 生成迁移文件
python manage.py migrate 执行迁移
python manage.py runserver  运行django服务
python manage.py shell 进入shell
  • 模型类代码
from django.db import models

class BookInfo(models.Model):
    """创建一个图书类"""
    btitle = models.CharField(max_length=20)
    bpub_date = models.DateTimeField()
    def _ _str_ _(self):
        return "%d" % self.pk

class HeroInfo(models.Model):
    """创建一个英雄类"""
    hname = models.CharField(max_length=20)
    hgender = models.BooleanField()
    hcontent = models.CharField(max_length=100)
    hBook = models.ForeignKey('BookInfo')
    def _ _str_ _(self):
        return "%d" % self.pk

三:使用shell操作Django

步骤说明

1. 使用命令进入shell
2. 引入需要的包和模块
3. 创建对应的类的对象,如 b = BookInfo()
4. 为该对象添加实例属性,
5. 为了Django能成功的将内容映射到字段上面(即模型类的类属性),添加的实例属性的名字必须和类属性的名字一样,这样才能映射成功.
6. 保存该实例对象的属性 b.save()
7. 查看,修改,删除相关信息>>可以查看所有,也可以根据id查看,查看所有的时候,返回的是一个对象的列表,可以对该列表进行操作.
8. 创建另一个关联了BookInfo的HeroInfo类的实例对象.
9. HeroInfo的外键必须引用一个BookInfo类创建好的一保存的对象,即有一个HeroInfo存在,必须要有一个BookInfo对象,提供了创建关联的数据:

命令说明

python manage.py shell  进入shell

from booktest.models import * 导入模型类中的所有类
from datetime import *
导入时间模块,书籍添加时间属性的时候使用
b = BookInfo()  创建实例对象
b.btitle="射雕英雄传"  添加书名
b.bpub_date=datetime(year=1990,month=1,day=10)  添加时间
b.save()  保存对象属性
BookInfo.objects.all() 返回对象列表
b=BookInfo.objects.get(pk=1) 根据id查找

查看id=1的图书的属性
b
b.id
b.btitle

修改图书信息
b.btitle="天龙八部"
b.save()

删除图书信息
b.delete()

关联对象
h=HeroInfo()
h.htitle=u'郭靖'
h.hgender=True
h.hcontent=u'降龙十八掌'
h.hBook=b  //这里引入的是外键属性,外键属性必须引用关联的一个实例对象
h.save()

猜你喜欢

转载自blog.csdn.net/fanlei5458/article/details/80224654