Django框架学习笔记一

之前曾多次想好好地学习一下Django框架,但是一直没有沉下心来看,现在总算有这个机会来好好地接触Django框架。Django给人的感觉就是需要较多的配置,由于是第一次学习Django,所以将一些学习到的知识点记录如下:

使用虚拟环境virtualenv

开发环境使用的是Django1.10.6,Python3。先进行下载virtualenv,然后选择一个目录来安装virtualenv,例如,我们选择C:\Users\yangxg\Envs 目录,并将虚拟环境命名为blogproject_env,然后运行命令:

C:\WINDOWS\system32>virtualenv C:\Users\yangxg\Envs\blogproject_env

这样虚拟环境就安装好了,之后需要激活,运行blogproject_env\Scripts目录下的active来激活:

C:\WINDOWS\system32>C:\Users\yangxg\Envs\blogproject_env\Scripts\activate
(blogproject_env) C:\WINDOWS\system32>

建立Django工程

首先进入目录C:\Users\yangxg\Workspace ,然后运行命令创建Django工程:

(blogproject_env) C:\Users\yangxg\Workspace>django-admin startproject blogproject 

这样blogproject工程就创建成功了,进入blogproject目录,运行python manage.py runserver就可以开启服务,访问127.0.0.1:8000可以看到it works字样。Django默认的语言是英语,如果需要使用中文需要在 blogproject/blogproject/settings.py中

## 其它配置代码...

LANGUAGE_CODE = 'en-us'
TIME_ZONE = 'UTC'

## 其它配置代码...

将LANGUAGE_CODE = 'zh-hans',同时,TIME_ZONE =‘Asia/Shanghai’,再次访问127.0.0.1:8000即可看到中文信息

建立博客应用

激活虚拟环境

C:\WINDOWS\system32>C:\Users\yangxg\Envs\blogproject_env\Scripts\activate

创建应用

(blogproject_env) C:\WINDOWS\system32>cd C:\Users\yangxg\Workspace\blogproject

(blogproject_env) C:\Users\yangxg\Workspace\blogproject>python manage.py startapp blog

应用的目录结构如下:

blog\
    __init__.py
    admin.py
    apps.py
    migrations\
        __init__.py
    models.py
    tests.py
    views.py

应用已经创建好了,但是Django还不知道这是一个应用,所以需要注册应用,在blogproject目录下的settings.py文件中找到INSTALL_APPS,将blog添加进去。

创建Django博客的数据库模型

以博客为例,需要建立三张表,即category(分类),tag(标签),post(文章),所以需要创建三个类

理解一对多和多对多两种关联关系

ForeignKey,这里一篇文章只能有一个分类,但是一个分类可以有多篇文章,所以分类用的是ForeignKey

ManyToManyField表示的是多对多的关联关系,例如一篇文章可以有多个标签,一个标签也可以有多篇文章,所以文章与标签之间是ManyToManyField

迁移数据库

首先同样是激活虚拟环境,

C:\WINDOWS\system32>C:\Users\yangxg\Envs\blogproject_env\Scripts\activate

然后进入manage.py所在的目录,运行,python manage.py makemigrate和python manage.py migrate

用Django方式操作数据库

存数据 

首先创建category和tag

from blog.models import Category,Tag,Post

c=Category(name='category test')

c.save()

t=Tag(name='tag test')

t.save()

创建用户

python manage.py createsuperuser

Django处理Http请求

上网流程:

  1. 我们打开浏览器,输入我们想要访问的网站
  2. 浏览器知道我们想要访问的网站后,会把我们的访问意图包装成http请求,发送网址给对应的服务器。通俗的说就是浏览器帮我们通知服务器,说有人来访问你了,访问的请求包装在http请求里面了,你按照要求处理后告诉我,我再来帮你回应他
  3. 服务器处理了HTTP请求,然后生成一段HTTP响应给浏览器,浏览器解读这个响应,把相关内容显示在浏览器中显示出来,这样我们就看到了网站的内容。比如你访问我的博客主页,服务器接到这个请求后知道你要访问的是博客首页,首页显示的是全部文章的列表,于是他把数据从数据库中取出来,生成一个写着这些数据的HTML文档,包装到HTTP响应里发送给浏览器,浏览器解读响应,把HTML显示出来,这样我们就看到了文章列表的内容。

好吧,今天先到这,明天继续!!!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值