Django基础—1
一、 Django的安装
1、 查看已安装的Django的版本
进入到终端以及Python的交互模式
python3/ ipython3
2、 交互模式中输入import django
如果未报错:说明已经安装过
如果报错:说明未安装
3、 查看已安装的版本
交互模式中:django.VERSION
安装
1、 在线安装 - 使用 pip /pip3
sudo pip3 install django
(默认安装Django的最高版本)
sudo pip3 install django==1.11.8
(指定安装1.11.8版本)
2 离线安装
1 下载所需要的Django包
2 在环境中解压Django包
tar -xvf Django-1.11.8.tar.gz
3 进入到Django-1.11.8
cd Django-1.11.8
4 安装
sudo python3 setup.py install
Django官网:http://www..djangoproject.com
中文网站:Djangobook
二、 使用Django
1 创建Django项目
mkdir Django --创建目录,用于保存项目
使用 django-admin 指令,创建Django项目
django-admin startproject 项目名
2 启动服务,用于访问
在创建好的项目中,找到 manage.py文件
通过 manage.py启动项目(服务)
python3 manage.py runserver
3 访问网站
启动服务之后,在浏览器中,通过以下网址访问:
http://localhost:8000
4 Django 中的应用
1) 什么是应用
应用就是网站中的一个独立的模块程序
在Django中,主目录一般不处理用户的请求,主要做的是项目的初始化,以及请求的分发
2) 创建应用
1 命令
./manage.py startapp 应用名称(news)
ex:
./manage.py startapp news
3) 在settings.py中进行注册
INSTALLED_APPS 中追加应用名称
INSTALLED_APPS[
'news']
5 设置访问路径
1 主模块设置urls.py
from django.conf.urls import url, include from django.contrib import admin urlpatterns = [ url(r'^admin/', admin.site.urls), url(r'^', include('news.urls')), ]
2 应用模块设置urls.py
1)在应用中新建文档urls.py
from django.conf.urls import url from .views import * urlpatterns = [ url(r'^01_news/$', news_views), ]
2)设置urls.py匹配的views.py
模板的加载
使用 render 直接加载并返回模板
from django.shortcuts import render
def xxx_views(request):
return render(request,"模板名称",{})
from django.shortcuts import render from .models import * from django.http import HttpResponse def news_views(request): return render(request, '01_news.html')
3)设置views.py对应渲染的模板xxx.html
1 在应用下创建templates文件夹,在文件夹下新建文档xxx.html
文档内容 html:5 快捷键
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title> {% block title %} 01-news {% endblock %} </title> </head> <body> <h1>这是 01_news页面</h1> {% block content %} <h1>这是可以被更改的内容</h1> {% endblock %} <h1>这是网页的底部信息</h1> {% block bottom %} {% endblock %} </body> </html>
4 数据模型类
利用Django开发网站系统,一般情况下,要先编写数据模型,就是在应用中models.py中的类,这个类与数据库中的数据表有对应的关系
from django.db import models from django.utils import timezone from django.contrib.auth.models import User class BlogArticles(models.Model): title = models.CharField(max_length=300) author = models.ForeignKey(User,related_name='blog_posts') body = models.TextField() publish = models.DateTimeField(default=timezone.now) class Mwta: ordering- ('-publish',) def __str__(self): return self.title
语法:
属性 = models.数据字段(字段选项)
Django中提供的数据字段 和 字段选项` 4rr4rrrr
数据字段(Field Type)
1、BooleanField()
2、CharField()
3、DateField()
4、DateTimeField()
5、DecimalField()
6、EmailField() # 存电子邮件 - varchar
7、FloatField()
8、ImageField() # 存图片路径 - varchar
9、IntegerField()
10、URLField() # 存网站地址 - varchar
11、TextField() # 存大量数据 - text
字段选项(Field Options)
1、max_length
指定数据的最大长度
2、default
为当前属性(字段)指定默认值
3、null
指定当前属性(字段)是否允许为空,默认是false