Django框架 之基础入门
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框架 之基础入门的更多相关文章
- Django框架【基础篇】
Python的WEB框架有Django.Tornado.Flask 等多种,Django相较与其他WEB框架其优势为:大而全,框架本身集成了ORM.模型绑定.模板引擎.缓存.Session等诸多功能. ...
- 框架----Django框架(基础篇)
一.基本配置 一.创建django程序 终端命令:django-admin startproject sitename IDE创建Django程序时,本质上都是自动执行上述命令 其他常用命令: pyt ...
- django框架代码基础
urls.py 导入相对应的模块from django.conf.urls import url,includefrom django.contrib import adminfrom son1.vi ...
- [技术博客]Django框架-后端的搭建
目录 Django框架-后端的搭建 前言 环境的部署 项目的创建 app的使用 创建app 修改配置文件 app中数据表的构建 前端接口 接口的路径 运行服务器 验证后端 Django框架-后端的搭建 ...
- 零基础入门Python实战:四周实现爬虫网站 Django项目视频教程
点击了解更多Python课程>>> 零基础入门Python实战:四周实现爬虫网站 Django项目视频教程 适用人群: 即将毕业的大学生,工资低工作重的白领,渴望崭露头角的职场新人, ...
- [Spring框架]Spring AOP基础入门总结二:Spring基于AspectJ的AOP的开发.
前言: 在上一篇中: [Spring框架]Spring AOP基础入门总结一. 中 我们已经知道了一个Spring AOP程序是如何开发的, 在这里呢我们将基于AspectJ来进行AOP 的总结和学习 ...
- [Spring框架]Spring AOP基础入门总结一.
前言:前面已经有两篇文章讲了Spring IOC/DI 以及 使用xml和注解两种方法开发的案例, 下面就来梳理一下Spring的另一核心AOP. 一, 什么是AOP 在软件业,AOP为Aspect ...
- .net core +codefirst(.net core 基础入门,适合这方面的小白阅读) 【我们一起写框架】领域驱动设计的CodeFirst框架(一)—序篇
.net core +codefirst(.net core 基础入门,适合这方面的小白阅读) 前言 .net core mvc和 .net mvc开发很相似,比如 视图-模型-控制器结构.所以. ...
- Django 框架搭建入门案例
1. 什么是 web 框架 对于所有的Web应用,本质上其实就是一个socket服务端,用户的浏览器其实就是一个socket客户端; # 示例: import socket def handle_re ...
随机推荐
- 使用Charles进行网络抓包
一.安装Charles 二.使用 1.http抓包 1.1 现在我们默认是在进行iOS开发,首先确保iPhone和Mac是在同一个局域网下(连同一个WiFi).然后查看Mac的IP地址(打开网络偏好设 ...
- NPOI2.2.0.0实例详解(十)—设置EXCEL单元格【文本格式】 NPOI 单元格 格式设为文本 HSSFDataFormat
NPOI2.2.0.0实例详解(十)—设置EXCEL单元格[文本格式] 2015年12月10日 09:55:17 阅读数:3150 using System; using System.Collect ...
- tomcat的HTTPS
完美配置Tomcat的HTTPS 博客分类: Tomcat HTTPS Tomcat配置HTTPS的文章到处都有,过程也比较简单,随后文中会转一段过来. 但对于启用APR情况下报异常“java.l ...
- 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 ...
- libsqlite3.dylib与libsqlite3.0.dylib的差别
在我们加入数据库框架时,在搜索框中输入sqlitekeyword,以下列表区会显示libsqlite3.dylib,libsqlite3.0.dylib. 此时我们选择libsqlite3.0.dyl ...
- go1
关键字: break default func interface select case defer go map struct chan else goto package switch cons ...
- HDU 5753Permutation Bo
Permutation Bo Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others) ...
- POJ2115 C-Loop
传送门 这道题是求解不定方程的一道好练习题. 题目描述的很诡异……还说什么k进制,其实就是要求一个数A,每次加C,问到B要加多少次,所有的数对2k取模. 也就是说我们能列出如下方程:A+xC ≡ B ...
- ubuntu16.04 查看系统可用内存
free -m 查看内存情况 (单位MB) mem 行显示了从系统角度看来内存使用的情况, total是系统可用的内存大小, 数量上等于系统物理内存减去内核保留的内存. buffers和cach ...
- 使用spring的DefaultResourceLoader自定义properties文件加载工具类
转自:https://www.cnblogs.com/zrbfree/p/6230957.html import java.io.IOException; import java.io.InputSt ...