Django 学习(第一周)
django初体验
django
目前最流行的python web开发框架。负责处理大部分web开发底层细节。
优点:
- 快速开发:用python开发; 数据库ORM系统
- 大量内置应用:后台管理系统admin; 用户认证系统auth; 会话系统sessions
- 安全性高:表单验证; SQL注入; 跨站点攻击
- 易于扩展
django开发环境搭建
- 安装python:python 3.6.5
- ipython(推荐):
sudo apt-get install ipython
sudo pip install python - 安装pip:
sudo apt-get install python-pip - 安装django:
sudo pip install django
安装之后测试一下是否安装成功。
打开终端,输入python,再输入import django 回车,若是没有出现错误也没出现结果则表示安装成功。 - 安装anaconda:
先下载对应版本的安装吧,从官网下载比较慢,可以直接到清华镜像下载比较快。打开终端,输入:bash Anaconda3-5.2.0-Linux-x86_64.sh,按照提示进行安装,都选择yes。其中有个地方会问你安装到哪个目录下,默认路径是/home/user。安装完之后需要配置环境变量,在终端输入sudo gedit /etc/profile,打开profile文件。添加语句export PATH=/home/liuting/anaconda3/bin:$PATH,保存,退出。然后重启linux,打开终端,输入python,出现以下内容则安装成功。
最后创建第一个django项目:django-admin startproject mysite。mysite中包含manage.py和mysite两个文件。运行python manage.py runserver 开启我们的网站
然后在浏览器中输入网址: 127.0.0.1:8000,界面显示:It worked! 则这个django项目运行起来了。
django创建工程
- 首先创建一个工程:django-admin startproject mysite
- 进入到mysite中:cd mysite
- 对mysite进行展开:tree
manage.py (管理项目:包括数据库建立,服务器运行,测试…)
mysite
settings.py(配置文件:应用,中间件,数据库,静态目录各类配置…)
urls.py(URL映射配置文件:决定一个url访问被哪个程序相应)
wsgi.py(python应用程序或框架和web服务器之间接口)
django创建应用
- 首先在mysite工程下创建一个应用
python manage.py startapp blog
- 在mysite中的settings.py中添加应用
- 在应用blog中的views.py中显示一个hello world
from __future__ import unicode_literals
from django.shortcuts import render
from django.http import HttpResponse
# Create your views here.
def hello(request):
return HttpResponse('<html>hello world</html>')
- 在blog中的urls.py中配置url
from django.conf.urls import include,url
from django.contrib import admin
from blog.views import hello
urlpatterns = [
url(r'^admin/', admin.site.urls),
url(r'helloworld', hello)
]
- 运行`python manage.py runserver
- 在浏览器中输入:127.0.0.1:8000/helloworld
界面出现“hello world” - 应用目录详解
views.py(响应客户请求返回html页面)
models.py(定义数据库中的表)
admin.py(admin相关)
test.py(测试相关)
Django中的重要概念
- URL配置:建立URL和响应函数之间的关系
- 视图Views:响应客户http请求,进行逻辑处理,返回给用户html页面
- 模型Models:描述我们服务器存储的数据(数据库的表)
- 模板Templates:用来生产html页面。返回给用户的html,是由数据(模型)和模板渲染出来的。
开发一个简单的博客网站
创建项目
创建应用
创建第一个页面(响应)hello,Blog!
第一个Template
- 重新配置URL
- 开发第一个Template
Models
- 编写博客的Model
- 将数据呈现在在页面上。打开db.sqlite3文件我选用的是可视化工具sqlitebrowser
sudo apt-get install sqlitebrowser
Admin
- 创建超级用户
- 配置Admin
- 使用Admin修改数据库
完善博客
- 博客主页面
- 博客内容页面
- 博客编写页面
补充内容
- Templates过滤器
- Django shell
- Admin增强