Django 入门学习

来源:互联网 发布:Java kettle Linux 编辑:程序博客网 时间:2024/06/05 07:15
一 Django简介
    Django是一个基于Python的高级Web框架。
    高度集成,开源。
二 Django安装
    0.python安装
    1.1 Django pip安装(https://www.djangoproject.com/download/)
    1.2 Django 源码包安装(官网下载后执行以下语句)
1
python setup.py install
    2.查看是否安装成功
三 Django新建项目
    新建一个项目
1
django-admin startproject myblog
    项目结构

 settings.py配置文件详解
1
import os
2
# 根目录设置
3
BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
4
# 安全码
5
SECRET_KEY = 'g36o2v3gbl6zzpg)jycocp(q$$c8$-wva$ij7zl$tp8oie86c&'
6
# 是否开启调试模式
7
DEBUG = True
8
# 允许访问用户ip
9
ALLOWED_HOSTS = []
10
# 项目中的应用
11
INSTALLED_APPS = [
12
    'django.contrib.admin',
13
    'django.contrib.auth',
14
    'django.contrib.contenttypes',
15
    'django.contrib.sessions',
16
    'django.contrib.messages',
17
    'django.contrib.staticfiles',
18
]
19
# 中间间 自带工具集
20
MIDDLEWARE = [
21
    'django.middleware.security.SecurityMiddleware',
22
    'django.contrib.sessions.middleware.SessionMiddleware',
23
    'django.middleware.common.CommonMiddleware',
24
    'django.middleware.csrf.CsrfViewMiddleware',
25
    'django.contrib.auth.middleware.AuthenticationMiddleware',
26
    'django.contrib.messages.middleware.MessageMiddleware',
27
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
28
]
29
# 根url配置文件
30
ROOT_URLCONF = 'myblog.urls'
31
# 模版配置
32
TEMPLATES = [
33
    {
34
        'BACKEND': 'django.template.backends.django.DjangoTemplates',
35
        'DIRS': [],
36
        'APP_DIRS': True,
37
        'OPTIONS': {
38
            'context_processors': [
39
                'django.template.context_processors.debug',
40
                'django.template.context_processors.request',
41
                'django.contrib.auth.context_processors.auth',
42
                'django.contrib.messages.context_processors.messages',
43
            ],
44
        },
45
    },
46
]
47
48
WSGI_APPLICATION = 'myblog.wsgi.application'
49
50
# 数据库配置
51
DATABASES = {
52
    'default': {
53
        'ENGINE': 'django.db.backends.sqlite3',
54
        'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
55
    }
56
}
57
# 密码验证相关
58
AUTH_PASSWORD_VALIDATORS = [
59
    {
60
        'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator',
61
    },
62
    {
63
        'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator',
64
    },
65
    {
66
        'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator',
67
    },
68
    {
69
        'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator',
70
    },
71
]
72
73
# 语言时区配置
74
LANGUAGE_CODE = 'en-us'
75
76
TIME_ZONE = 'UTC'
77
78
USE_I18N = True
79
80
USE_L10N = True
81
82
USE_TZ = True
83
84
85
# 静态文件地址
86
STATIC_URL = '/static/'
四 Django新建应用
    1.新建一个app(执行在manage.py同级目录)
    2.新建应用添加到项目settings.py配置文件
1
INSTALLED_APPS = [
2
    'django.contrib.admin',
3
    'django.contrib.auth',
4
    'django.contrib.contenttypes',
5
    'django.contrib.sessions',
6
    'django.contrib.messages',
7
    'django.contrib.staticfiles',
8
    'blog' #添加应用
9
]
    应用结构

五 页面配置
    1.应用中view.py编写请求对应响应方法
1
from django.shortcuts import render
2
from django.http import HttpResponse
3
4
def index(request):
5
    return HttpResponse('Hello,world!')
    2.项目urls.py配置
    方法2: 2.1 urls配置引入include
1
from django.conf.urls import url,include
2
from django.contrib import admin
3
4
urlpatterns = [
5
    url(r'^admin/', admin.site.urls),
6
    url(r'^blog/', include('blog.urls')),
7
]
    2.2 应用blog下创建urls.py
    3.运行服务
1
python manage.py runserver
    4.访问

六 Templates编写
    Tempalte: HTML文件 (模版语言)(配置在settings.py中)
    1.应用blog下创建Templates目录
    2.在Templates目录下创建blog目录,并创建index.html文件
    3.在views.py中返回reader()
from django.shortcuts import renderfrom django.http import HttpResponsedef index(request):    return render(request, 'blog/index.html',{'hello':'hello blog'})    #reder() 第三个参数可返回 dict类型参数 模板使用 {{参数名}}
    4.访问

七 Models
    Models: 一个Models对应一张数据库表单
    1.应用根目录modeels.py下,创建类,引入父类models.Model,并创建字段
1
from django.db import models
2
3
class Article(models.Model):
4
    title = models.CharField(max_length=32,default='Title')
5
    content = models.TextField(null=True)
    2.生成数据表在migrations目录下
1
python manage.py makemigrations (app)
2
python manage.py migrate 
    3.下载sqlite expert personal软件打开默认数据库文件添加信息

    4.后台读取views.py
1
from django.shortcuts import render
2
from django.http import HttpResponse
3
4
from . import models
5
6
def index(request):
7
    article = models.Article.objects.get(pk=1) #等同于select语句
8
    return render(request, 'blog/index.html', {'articl': article})
    5.前端页面
1
<!DOCTYPE html>
2
<html lang="en">
3
<head>
4
    <meta charset="UTF-8">
5
    <title>Title</title>
6
</head>
7
<body>
8
<h1>{{articl.title}}</h1>
9
<h3>{{articl.content}}</h3>
10
</body>
11
</html>
    6.访问

八 Admin 自动化数据管理界面 
    1.创建超级管理用户
1
python manage.py createsuperuser
    2.访问127.0.0.1:8000/admin

    3.配置admin,引入应用自身的models模块
1
from django.contrib import admin
2
3
from .models import Article
4
5
admin.site.register(Article)

    4.修改数据默认显示名称

    models.py 类返回修改
1
from django.db import models
2
3
class Article(models.Model):
4
    title = models.CharField(max_length=32,default='Title')
5
    content = models.TextField(null=True)
6
7
    def __str__(self):
8
        return self.title

学习自慕课网《Django入门与实践》视频教程
阅读全文
0 0
原创粉丝点击
热门IT博客
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 公鸡 英语 公鸡的做法 公鸡公鸡 大红公鸡 公鸡价格 公鸡面 世界公鸡 彩色公鸡 母鸡变公鸡 公鸡煲 公鸡品牌 公鸡肾 金公鸡 公鸡变母鸡 红玉公鸡 公鸡国画 公鸡特征 烧公鸡 魔法公鸡 公鸡跳舞 公鸡图画 公鸡照片 画公鸡 公鸡打架 公鸡品种 骄傲的大公鸡 大公鸡喔喔叫 大公鸡旧版本 zebatlas大公鸡 公鸡泻药澡堂 正版大公鸡下载 法国打鸣公鸡胜诉 大公鸡喔喔叫儿歌 公鸡怎么做好吃 打鸣公鸡胜诉 清早听到公鸡叫 巨大黑公鸡怪物专区 安装大公鸡旧版 大公鸡简笔画 公鸡打鸣声音 公鸡叫的声音