django是一款MVT的框架

一、基本过程

  1、创建项目:django-admin startproject 项目名称

  2、编写配置文件settings.py(数据库配置、时区、后台管理中英文等)

  3、创建应用:python manage.py startapp 应用名称

  4、编写模型类:models.py

  5、生成迁移文件: python manage.py makemigrations

  6、执行迁移生成数据表: python manage.py migrate

  7、后台管理:python manage.py createsuperuser

  8、向admin注册模型(admin.py):admin.site.register(模型类)

  9、自定义管理界面

  10、运行项目:python manage.py runserver 端口

二、实现

创建应用

python manage.py startapp booktest

urls.py是后天创建的

定义模型类

from django.db import models

# Create your models here.

class BookInfo(models.Model):
title = models.CharField(max_length=32)
time = models.DateTimeField() def get_title(self):
return self.title get_title.short_description = "书名" class HeroInfo(models.Model):
name = models.CharField(max_length=32)
book = models.ForeignKey(BookInfo, on_delete=models.CASCADE) def get_book(self):
return self.book.title get_book.short_description = "书名"

说明:不需要定义主键列,在生成时会自动添加,并且值为自动增长

激活模型:编辑settings.py文件,将booktest应用加入到installed_apps中

INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'booktest'
]

生成迁移文件:根据模型类生成sql语句

python manage.py makemigrations

migrations目录中

# Generated by Django 2.2.1 on 2019-06-09 01:49

from django.db import migrations, models
import django.db.models.deletion class Migration(migrations.Migration): initial = True dependencies = [
] operations = [
migrations.CreateModel(
name='BookInfo',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('title', models.CharField(max_length=32)),
('time', models.DateTimeField()),
],
),
migrations.CreateModel(
name='HeroInfo',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(max_length=32)),
('book', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='booktest.BookInfo')),
],
),
]

执行迁移:执行sql语句生成数据表

python manage.py migrate

创建一个管理员用户

python manage.py createsuperuser,按提示输入用户名、邮箱、密码

编辑settings.py文件,设置编码、时区

LANGUAGE_CODE = 'zh-Hans'
TIME_ZONE = 'Asia/Shanghai'

向admin注册booktest模块(admin.py)

from django.contrib import admin
from .models import BookInfo, HeroInfo # Register your models here.
class HeroInfoInline(admin.StackedInline):
model = HeroInfo
extra = 1 class BookInfoAdmin(admin.ModelAdmin):
list_display = ['id', 'get_title', 'time']
inlines = [HeroInfoInline] admin.site.register(BookInfo, BookInfoAdmin) class HeroInfoAdmin(admin.ModelAdmin):
list_display = ['name', 'get_book'] admin.site.register(HeroInfo, HeroInfoAdmin)

URLConf配置(项目urls.py)

from django.contrib import admin
from django.urls import path, include, re_path urlpatterns = [
path('admin/', admin.site.urls),
re_path('^', include("booktest.urls"))
]

模块urls.py编写

from django.urls import path, re_path
from .views import index urlpatterns = [
re_path("^$|index$", index)
]

创建模板

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>首页</title>
</head>
<body>
<h1>首页</h1>
</body>
</html>

创建视图

from django.shortcuts import render

# Create your views here.

def index(request):
return render(request, "booktest/index.html")

运行项目

python manage.py runserver ip:port

Django框架 之基础入门的更多相关文章

  1. Django框架【基础篇】

    Python的WEB框架有Django.Tornado.Flask 等多种,Django相较与其他WEB框架其优势为:大而全,框架本身集成了ORM.模型绑定.模板引擎.缓存.Session等诸多功能. ...

  2. 框架----Django框架(基础篇)

    一.基本配置 一.创建django程序 终端命令:django-admin startproject sitename IDE创建Django程序时,本质上都是自动执行上述命令 其他常用命令: pyt ...

  3. django框架代码基础

    urls.py 导入相对应的模块from django.conf.urls import url,includefrom django.contrib import adminfrom son1.vi ...

  4. [技术博客]Django框架-后端的搭建

    目录 Django框架-后端的搭建 前言 环境的部署 项目的创建 app的使用 创建app 修改配置文件 app中数据表的构建 前端接口 接口的路径 运行服务器 验证后端 Django框架-后端的搭建 ...

  5. 零基础入门Python实战:四周实现爬虫网站 Django项目视频教程

    点击了解更多Python课程>>> 零基础入门Python实战:四周实现爬虫网站 Django项目视频教程 适用人群: 即将毕业的大学生,工资低工作重的白领,渴望崭露头角的职场新人, ...

  6. [Spring框架]Spring AOP基础入门总结二:Spring基于AspectJ的AOP的开发.

    前言: 在上一篇中: [Spring框架]Spring AOP基础入门总结一. 中 我们已经知道了一个Spring AOP程序是如何开发的, 在这里呢我们将基于AspectJ来进行AOP 的总结和学习 ...

  7. [Spring框架]Spring AOP基础入门总结一.

    前言:前面已经有两篇文章讲了Spring IOC/DI 以及 使用xml和注解两种方法开发的案例, 下面就来梳理一下Spring的另一核心AOP. 一, 什么是AOP 在软件业,AOP为Aspect ...

  8. .net core +codefirst(.net core 基础入门,适合这方面的小白阅读) 【我们一起写框架】领域驱动设计的CodeFirst框架(一)—序篇

    .net core +codefirst(.net core 基础入门,适合这方面的小白阅读)   前言 .net core mvc和 .net mvc开发很相似,比如 视图-模型-控制器结构.所以. ...

  9. Django 框架搭建入门案例

    1. 什么是 web 框架 对于所有的Web应用,本质上其实就是一个socket服务端,用户的浏览器其实就是一个socket客户端; # 示例: import socket def handle_re ...

随机推荐

  1. 使用Charles进行网络抓包

    一.安装Charles 二.使用 1.http抓包 1.1 现在我们默认是在进行iOS开发,首先确保iPhone和Mac是在同一个局域网下(连同一个WiFi).然后查看Mac的IP地址(打开网络偏好设 ...

  2. NPOI2.2.0.0实例详解(十)—设置EXCEL单元格【文本格式】 NPOI 单元格 格式设为文本 HSSFDataFormat

    NPOI2.2.0.0实例详解(十)—设置EXCEL单元格[文本格式] 2015年12月10日 09:55:17 阅读数:3150 using System; using System.Collect ...

  3. tomcat的HTTPS

    完美配置Tomcat的HTTPS 博客分类: Tomcat HTTPS   Tomcat配置HTTPS的文章到处都有,过程也比较简单,随后文中会转一段过来. 但对于启用APR情况下报异常“java.l ...

  4. hdu, KMP algorithm, linear string search algorithm, a nice reference provided

    reference: Rabin-Karp and Knuth-Morris-Pratt Algorithms By TheLlama– TopCoder Member https://www.top ...

  5. libsqlite3.dylib与libsqlite3.0.dylib的差别

    在我们加入数据库框架时,在搜索框中输入sqlitekeyword,以下列表区会显示libsqlite3.dylib,libsqlite3.0.dylib. 此时我们选择libsqlite3.0.dyl ...

  6. go1

    关键字: break default func interface select case defer go map struct chan else goto package switch cons ...

  7. HDU 5753Permutation Bo

    Permutation Bo Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others) ...

  8. POJ2115 C-Loop

    传送门 这道题是求解不定方程的一道好练习题. 题目描述的很诡异……还说什么k进制,其实就是要求一个数A,每次加C,问到B要加多少次,所有的数对2k取模. 也就是说我们能列出如下方程:A+xC ≡ B ...

  9. ubuntu16.04 查看系统可用内存

    free -m 查看内存情况    (单位MB) mem 行显示了从系统角度看来内存使用的情况, total是系统可用的内存大小, 数量上等于系统物理内存减去内核保留的内存. buffers和cach ...

  10. 使用spring的DefaultResourceLoader自定义properties文件加载工具类

    转自:https://www.cnblogs.com/zrbfree/p/6230957.html import java.io.IOException; import java.io.InputSt ...