Django基础(上)

一、安装django
1、sudo pip install Django==2.0.6(版本号)
2、测试django的安装
python3
import django
print(django.get_version())

二、创建django项目
django-admin startproject mysite(文件名)
查看django项目下的文件:tree

外层的mysite/:是项目的容器,可以为任意名字。
manage.py:一种让你可以使用各种方式管理Django项目的命令行工具。在mysite/目录下输入python3 manage.py help,看一看它都能做什么。
内层的mysite/:包含项目,是一个纯Python包。你可以在包里调用它内部的任何东西。
init.py:一个空文件,告诉Python这个目录应该被认为是一个Python包。一般,你不需要去修改它。
settings.py:Django项目的配置文件。
urls.py:Django项目的URL声明。
wsgi.py:作为项目的运行在WSGI兼容的Web服务器的入口。

三、启动django
python3 manage.py runserver
打开浏览器:127.0.0.1:8000

四、创建应用
python3 manage.py startapp lib(应用名)
这里写图片描述
在lib/views.py输入
这里写图片描述

五、url映射显示到页面
在mysite/lib目录里新建urls.py文件
这里写图片描述
path的四个参数
这里写图片描述
route为空表示为可以直接用http://localhost:8000/lib/访问该视图函数,view=view.index是调用了view.py中的index视图,name为index代表我们可以在模板中用index来引用返回的变量。

六、告知使用应用lib的视图
在mysite/mysite/urls.py
这里写图片描述

七、运行
python manage.py runserver
即可看到页面上显示了hello,world。

八、创建数据库
1、更改时区

#mysite/mysite/settings.py
TIME_ZONE = 'Asia/Shanghai'

2、定义数据模型
模型是django.db.models.Model类的子类

# lib/models.py
from django.db import models

class Book(models.Model):
    name = models.CharField(max_length=200)
    author = models.CharField(max_length=100)
    pub_house = models.CharField(max_length=200)
    pub_date = models.DateTimeField('date published')

九、将lib应用安装到项目中
LibConfig类写在文件lib/apps.py中,所以它的路径为lib.apps.LibConfig
在设置文件中添加路径:

# mysite/mysite/settings.py
INSTALLED_APPS = [
    'lib.apps.LibConfig',
    'django.contrib.admin',
    ...
]

现在django则包含了lib应用,makemigrations为迁移命令,Django 会检测你对模型文件的修改,并且把修改的部分储存为一次迁移

python3 manage.py makemigrations lib

查看迁移命令执行了哪些sql语句:

python3 manage.py sqlmigrate lib 0001

运行migrate命令,在数据库里创建新定义的模型的数据表:

python3 manage.py migrate

十、使用API

python3 manage.py shell

使用这个命令而不是简单的使用 “Python” 是因为 manage.py 会设置 DJANGO_SETTINGS_MODULE 环境变量,这个变量会让 Django 根据 mysite/settings.py 文件来设置 Python 包的导入路径。

>>>from lib.models import Book
>>>Book.objects.all()   #获取Book所有对象
<QuerySet []>
>>>from django.utils import timezone
>>>b = Book(name='Business', author='Tom', pub_house='First Press', pub_date=timezone.now())    #创建
>>>b.save() #保存
>>>b.id
1
>>>b.name
'Business'
>>>b.pub_date
datetime.datetime(2018, 7, 4, 2, 29, 7, 578323, tzinfo=<UTC>)
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值