Django菜鸟教程学习记录(一)
创建项目
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菜鸟教程学习记录(一)相关推荐
- python菜鸟教程字典-python教程菜鸟教程学习路线
python教程菜鸟教程学习路线,需要学Python 环境搭建.Python 中文编码.Python 基础语法.Python 变量类型.Python 运算符.Python 条件语句.Python 循环 ...
- 系统架构设计师教程-学习-记录(1)系统架构师知识结构
系统架构设计师教程-学习-记录(1)系统架构师知识结构 初 记 系统架构师知识结构 系统架构师具备的能力 初 欢迎进qq群交流:546496965 学习<系统架构设计师教程>,初心是为了学 ...
- python教程菜鸟教程学习路线
python教程菜鸟教程学习路线,需要学Python 环境搭建.Python 中文编码.Python 基础语法.Python 变量类型.Python 运算符.Python 条件语句.Python 循环 ...
- Python基础教程-菜鸟教程学习笔记1
Python基础教程-菜鸟教程学习笔记1 文章目录 Python基础教程-菜鸟教程学习笔记1 前言 Python 简介 1. 第一个Python程序 2. Python 中文编码 3. 基本语法 1) ...
- python菜鸟教程学习:数据结构
列表方法 list.append(x):把一个元素添加到列表的结尾,相当于 a[len(a):] = [x]. list.extend(L):通过添加指定列表的所有元素来扩充列表,相当于 a[len( ...
- python基础菜鸟教程-菜鸟教程学习python
1.杂货 *items(): 方法以列表返回可遍历的(键, 值) 元组数组. *在序列中遍历时,索引位置和对应值可以使用 enumerate()函数同时得到 *同时遍历两个或更多的序列,可以使用 zi ...
- 巨蟒django之CRM5 学习记录课程记录班级管理私户的数量上限
1.公户变私户(事务+行级锁) 2.私户的数量上限 3.班级的管理 4.课程记录管理 5.学习记录的初始化 6.展示和编辑学习记录 转载于:https://www.cnblogs.com/studyb ...
- 2022暑期实践(Django教程学习记录)(第三周1)P44靓号管理-分页组件封装
P44靓号管理-分页组件封装 要解决的问题,分页和搜索功能不能同时用 from django.http.request import QueryDictimport copyquery_dict = ...
- 【C#】菜鸟教程学习笔记(一)
假装是个前言 教程链接:http://www.runoob.com/csharp/csharp-tutorial.html 学C#主要是为了写Unity的脚本,由于之前已经学过C和C++了,这里仅记录 ...
- 菜鸟教程学习——HTML5 拖放
无解释,纯代码示例: <!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> &l ...
最新文章
- iOS10 UI教程子视图和父视图UI层次结构和Views继承
- redis有序集合(Zset)
- 2017年你不能错过的Java类库
- java中属性加参数_java – 具有类型参数的注释属性
- 【机器学习】数据挖掘实战:金融贷款分类模型和时间序列分析
- idea debug调试_大牛都会用的 IDEA 调试技巧!!!
- java clone方法_java安全编码指南之:方法编写指南
- 升学在线如何从容应对流量高峰?
- 使用Eclipse本地运行SAP UI5时, UI5库文件的js文件是从本地哪里加载的
- 基于android的简单网页_成都APP开发:APP原生和网页开发有什么区别?
- 在switch语句中,case后的标号只能是什么?
- 百度推送老是不成功,没有提醒查找原因
- ssh 端口_【科普】SSH都不懂,还搞什么网络
- 微信开发4——PHP实现PC扫码授权登陆获取用户信息
- 路由表 (2012-03-27 12:57)
- go语言结构体标签的意义
- 解决 https 证书验证不通过的问题
- 怎么在Linux中安装gcc编译器使用,如何在linux中安装gcc编译器?
- 方差分析表和回归分析表的那些浆糊糊
- win10系统连接不上服务器,win10系统电驴连接不上服务器的解决方法