创建项目

django-admin.py startproject HelloWorld

就会在当前目录下创建一个名为HelloWorld的文件夹。

启动项目

cd HelloWorld
python3 manage.py runserver

创建视图

在helloworld的文件夹下新建一个views.py的文件并添加内容

from django.http import HttpResponsedef hello(request):return HttpResponse("Hello world ! "

并打开urls.py的文件写入

from django.conf.urls import urlfrom . import viewsurlpatterns = [url(r'^$', views.hello),
]

这时候访问http://127.0.0.1:8000/便可以访问到HelloWorld

Django模板

在项目内新建一个templates文件夹并创建一个runoob.html的文件

<h1>{{ hello }}</h1>

向Django说明模板文件的路径,修改HelloWorld/settings.py,修改 TEMPLATES 中的 DIRS 为

'DIRS': [BASE_DIR / "templates"],

在views.py添加新的内容

from django.shortcuts import renderdef runoob(request):context ={}context['hello'] = 'Hello World!'return render(request,'runoob.html',context)

有了方法之后,要在urls.py内添加新的路径

from . import viewsurlpatterns = [path('runoob/', views.runoob),
]

在runoob的页面中添加了hello这个变量,然后在view用context进行承接,并将其赋值为Hello World!,然后在 利用render进行渲染。就实现了数据和视图分离。
而在真正的使用过程中,应该是这样的:

def runoob(request):views_name = "我在view内进行赋值"return render(request,'runoob.html',{"hello":views_name})

也可以支持类似数组的写法在runoob.html页面内进行定义
views.py:


def runoob(request):views_array = ["元素1","元素2","元素3"]return render(request,'runoob.html',{"hello":views_array})

runoob.html

<h1>{{ hello  }}</h1>
<h2>{{ hello.1}}</h2>

进行访问,

templates 中的 runoob.html中,可以用 .键 取出对应的值。

先在view.py中进行赋值

def runoob(request):views_array = {"name":"我是name值"}return render(request,'runoob.html',{"hello":views_array})

在runoob.html中取值

<h1>{{ hello  }}</h1>
<h2>{{ hello.name}}</h2>

…未完待续

Django数据库Mysql

首先需要有一个数据库runoob
并在setting.py中修改信息

DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql',    # 数据库引擎'NAME': 'runoob', # 数据库名称'HOST': '127.0.0.1', # 数据库地址,本机 ip 地址 127.0.0.1 'PORT': 3306, # 端口 'USER': 'lqy',  # 数据库用户名'PASSWORD': 'qwe123', # 数据库密码}
}

并在__init__.py中引入模块和进行配置

import pymysql
pymysql.install_as_MySQLdb()

新建一个TestModel应用来应用这个模 型

django-admin.py startapp TestModel

在TestModel的models.py中新建一个类

class Test(models.Model):name = models.CharField(max_length=20)

其中Test为类名 == 数据库的表名且继承了models.Model。
name就相当于数据库的列名 属性为char
接下来在 settings.py 中找到INSTALLED_APPS这一项,在最后添加上

INSTALLED_APPS = ['TestModel',
}

在终端运行

$ python3 manage.py migrate   # 创建表结构$ python3 manage.py makemigrations TestModel  # 让 Django 知道我们在我们的模型有一些变更
$ python3 manage.py migrate TestModel   # 创建表结构

个人踩坑
在执行第二个语句的时候一直提示如下错误
在settings.py中将语言改成

LANGUAGE_CODE = 'zh-hans'#__init__.py这个页面中添加第二行
import pymysql
pymysql.version_info = (1, 4, 0, "final", 0)
pymysql.install_as_MySQLdb()

以上我们就完成了数据库的创建。

数据库的操作

用到再来写

Django菜鸟教程学习记录(一)相关推荐

  1. python菜鸟教程字典-python教程菜鸟教程学习路线

    python教程菜鸟教程学习路线,需要学Python 环境搭建.Python 中文编码.Python 基础语法.Python 变量类型.Python 运算符.Python 条件语句.Python 循环 ...

  2. 系统架构设计师教程-学习-记录(1)系统架构师知识结构

    系统架构设计师教程-学习-记录(1)系统架构师知识结构 初 记 系统架构师知识结构 系统架构师具备的能力 初 欢迎进qq群交流:546496965 学习<系统架构设计师教程>,初心是为了学 ...

  3. python教程菜鸟教程学习路线

    python教程菜鸟教程学习路线,需要学Python 环境搭建.Python 中文编码.Python 基础语法.Python 变量类型.Python 运算符.Python 条件语句.Python 循环 ...

  4. Python基础教程-菜鸟教程学习笔记1

    Python基础教程-菜鸟教程学习笔记1 文章目录 Python基础教程-菜鸟教程学习笔记1 前言 Python 简介 1. 第一个Python程序 2. Python 中文编码 3. 基本语法 1) ...

  5. python菜鸟教程学习:数据结构

    列表方法 list.append(x):把一个元素添加到列表的结尾,相当于 a[len(a):] = [x]. list.extend(L):通过添加指定列表的所有元素来扩充列表,相当于 a[len( ...

  6. python基础菜鸟教程-菜鸟教程学习python

    1.杂货 *items(): 方法以列表返回可遍历的(键, 值) 元组数组. *在序列中遍历时,索引位置和对应值可以使用 enumerate()函数同时得到 *同时遍历两个或更多的序列,可以使用 zi ...

  7. 巨蟒django之CRM5 学习记录课程记录班级管理私户的数量上限

    1.公户变私户(事务+行级锁) 2.私户的数量上限 3.班级的管理 4.课程记录管理 5.学习记录的初始化 6.展示和编辑学习记录 转载于:https://www.cnblogs.com/studyb ...

  8. 2022暑期实践(Django教程学习记录)(第三周1)P44靓号管理-分页组件封装

    P44靓号管理-分页组件封装 要解决的问题,分页和搜索功能不能同时用 from django.http.request import QueryDictimport copyquery_dict = ...

  9. 【C#】菜鸟教程学习笔记(一)

    假装是个前言 教程链接:http://www.runoob.com/csharp/csharp-tutorial.html 学C#主要是为了写Unity的脚本,由于之前已经学过C和C++了,这里仅记录 ...

  10. 菜鸟教程学习——HTML5 拖放

    无解释,纯代码示例: <!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> &l ...

最新文章

  1. iOS10 UI教程子视图和父视图UI层次结构和Views继承
  2. redis有序集合(Zset)
  3. 2017年你不能错过的Java类库
  4. java中属性加参数_java – 具有类型参数的注释属性
  5. 【机器学习】数据挖掘实战:金融贷款分类模型和时间序列分析
  6. idea debug调试_大牛都会用的 IDEA 调试技巧!!!
  7. java clone方法_java安全编码指南之:方法编写指南
  8. 升学在线如何从容应对流量高峰?
  9. 使用Eclipse本地运行SAP UI5时, UI5库文件的js文件是从本地哪里加载的
  10. 基于android的简单网页_成都APP开发:APP原生和网页开发有什么区别?
  11. 在switch语句中,case后的标号只能是什么?
  12. 百度推送老是不成功,没有提醒查找原因
  13. ssh 端口_【科普】SSH都不懂,还搞什么网络
  14. 微信开发4——PHP实现PC扫码授权登陆获取用户信息
  15. 路由表 (2012-03-27 12:57)
  16. go语言结构体标签的意义
  17. 解决 https 证书验证不通过的问题
  18. 怎么在Linux中安装gcc编译器使用,如何在linux中安装gcc编译器?
  19. 方差分析表和回归分析表的那些浆糊糊
  20. win10系统连接不上服务器,win10系统电驴连接不上服务器的解决方法

热门文章

  1. 项目开发计划(GB856T——88)
  2. 支持嵌入的手机号码识别sdk软件
  3. 确定手机imsi号码的方法
  4. 51单片机驱动LCD1602液晶
  5. Matlab 编程 《计算流体力学基础及应用(约翰D安德森)》 亚声速-超声速等熵喷管流动CFD解法 拉瓦尔喷管 守恒形式方程解法
  6. 北京地区机动车限行交强险保费减免方案
  7. 中国各省的简称及简称的由来
  8. Redis过期策略详解
  9. 基于codebook背景建模的运动目标检测
  10. 服务器虚拟机迁移的6个步骤,KVM 虚拟机迁移(示例代码)