用到的命令

1.创建项目
django-admin startproject myBlog

2.创建app
cd [项目名]
python3 manage.py startapp blog 3.数据迁移
python3 manage.py makemigrations
python3 manage.py migrate (修改modes.py文件之后需要执行 之前的版本是python3 manage.py syncdb) 4.运行服务 python3 manage.py runserver
5.创建管理员
python3 manage.py createsuperuser 6.
查看sql语句
python3 manage.py sqlmigrate 应用名 文件id 

7.进入python交互模式 
 python3 manage.py shell

路由分发:

根目录中 urls.py文件
urlpatterns = [
path('admin/', admin.site.urls),
# path('', bv.index),
path('index/', include('blog.urls')),
] 在浏览器中这样访问:http://127.0.0.1:8000/index/
include的作用是防止app过多时 urls.py文件太复杂 
# path参考 https://blog.csdn.net/qq_26024867/article/details/79679329
URL对应可以有参数,例如:
url(r'^index/', views.index, {'name': 'root'}),然后在views.py中写的时候记得加上一个名为name的参数:
def index(request, name):
print(name)
return HttpResponse("OK") 这样就会打印出root

template中{{ key }} 的作用是 接收后端传递的dict数据{key:value}

template下面再用app名字分级的作用是区分不同app中引用的index.html

模版语言:

一般在views.py的一个逻辑函数,都会return ... 比如

return render(request,"HTML模板的路径", {'obj':1234,'k1':[1,2,3,4],'k2':{'name':'root','age':19}})

在html文件中取值:

取单值:
{{ obj }} 取列表元素
{{ k1.0 }} 取字典中的元素
{{ k2.name }} 循环取列表
{% for i in k1 %}
{{ i }}
{% endfor %} 循环取字典
循环keys
{% for row in k2.keys %}
{{ row }}
{% endfor %} 循环values
{% for row in k2.values %}
{{ row }}
{% endfor %} 循环key和value
{% for k,v in k2.items %}
{{ k }}-{{ v }}
{% endfor %}

Django的生命周期

路由系统  -> view.py (获取模板+数据->渲染)-> 返回str  
获取用户请求的数据:
request.POST.get() request.GET.get() request.FILES.get() ...............getlist() 上传文件 obj = request.FILES.get("文件名")
obj.name #文件名
obj.size #上传文件的字节
obj.chunks #分块取数据 要上传文件时候要在form表单加入特殊的设置 返回数据:
1.redirect("URL")
2.render(request,"HTML模板的路径", {用于渲染的字典})
3.HttpResponse("字符串")
<input type= name= value=>标签
type=text 表示文本
type=submit 表示提交
name= 表示该元素名称
value= 该标签上显示的内容
<form action= >
action 是一个URL类型,规定当提交表单时向何处发送表单数据。
 Cross-site request forgery  也就是csrf 的两种避免方法:
1. 在form表单中加 {% csrf_token %}
2. 注释setting,py 中的
MIDDLEWARE = [
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
# 'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
]

django 我的博客 (慕课网视频)笔记的更多相关文章

  1. Django:(博客系统)使用使用mysql数据->后台管理tag/post/category的配置

    Django后台一般是不需要人为的去开发的,因为django已经通过配置实现哪些模块是后台需要管理,如何排序,列表展示哪些列,列显示名称,是否为空(默认值),过滤条件,分页页数,列表中哪些项可编辑等等 ...

  2. Django快速搭建博客系统

    Django快速搭建博客系统 一.开发环境 Windows 7(64bit) python 3.6   https://www.python.org/ Django 2.0  https://www. ...

  3. Django搭建简易博客

    Django简易博客,主要实现了以下功能 连接数据库 创建超级用户与后台管理 利用django-admin-bootstrap美化界面 template,view与动态URL 多说评论功能 Markd ...

  4. 个人博客添加网易云音乐Flash插件

    博客底部添加网易云音乐播放插件 歌单或者歌曲外链可从音乐界面"生成外链播放器"中得到,选择Flash播放插件即可 footer.html文件增加 实现效果: 历史精选文章: Jli ...

  5. 基于django的个人博客网站建立(三)

    基于django的个人博客网站建立(三) 前言 网站效果可点击这里访问 今天主要完成的是文章在页面的显示以及评论,留言 具体内容 首先我希望主页面是显示我的所有文章,于是在主页面的视图函数中返回了所有 ...

  6. 基于django的个人博客网站建立(二)

    基于django的个人博客网站建立(二) 前言 网站效果可点击这里访问 今天主要完成后台管理员登录的状态以及关于文章在后台的处理 具体内容 首先接上一次内容,昨天只是完成了一个登录的跳转,其他信息并没 ...

  7. 基于django的个人博客网站建立(一)

    基于django的个人博客网站建立(一) 前言 网站效果可点击这里访问 之前基于hexo和github page搭建过一个博客网页,后来由于换了个系统,感觉弄的有点麻烦也就没有再去管它了,最近偶然从网 ...

  8. 基于django的个人博客网站建立(七)

    基于django的个人博客网站建立(七) 前言 网站效果可点击这里访问 这次在原来的基础上添加或修改一些小功能 具体内容 1.代码高亮 在原来的blog-details.html页面添加下面的代码: ...

  9. 基于django的个人博客网站建立(六)

    基于django的个人博客网站建立(六) 前言 今天主要完成的是项目在腾讯云服务器上ubuntu16.04+django+mysql+uwsig+nginx的部署过程网站效果可点击这里访问 主要内容 ...

  10. 基于django的个人博客网站建立(五)

    基于django的个人博客网站建立(五) 前言 网站效果可点击这里访问 之前鸽了两天,今天继续再写点 主要内容 今天加了个展示照片的功能,就叫他生活记录吧 先建表 class Record(model ...

随机推荐

  1. uid auid euid的区别

    关于euid suid guid,参考这篇很好的文章 uid auid euid的区别? initially: 最初地, 一开始地 jackson had initially bloodied his ...

  2. 用流的方式来操作hdfs上的文件

    import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import ...

  3. tensorflow学习笔记二:入门基础 好教程 可用

    http://www.cnblogs.com/denny402/p/5852083.html tensorflow学习笔记二:入门基础   TensorFlow用张量这种数据结构来表示所有的数据.用一 ...

  4. 1 基础架构:一条sql查询语句如何执行?

    1 基础架构:一条sql查询语句如何执行? 分析一个最简单的查询 mysql> select * from T where ID=10: MySQL基本架构示意图 大体来说,mysql可以分为s ...

  5. python接口自动化:响应内容中json字符串对象的处理

    实现代码如下: import json #定义一个字典.一个列表.两个字符串({}中必须是双引号) di1={"} di2=[{"}] di3='{"name" ...

  6. 【Unity】给物品添加力

    给物体添加力 两个方法: Rigidbody.AddForce(Vector3,ForceMode):给刚体添加一个力,让刚体按世界坐标系进行运动 Rigidbody.AddRelativeForce ...

  7. 浅谈WebService开发三(动态调用WebService)转

    在前两讲里,我已经向大家演示了如何使用WebService.同步, 异步调用WebService,而在实际开发过程中,可能会有多个WebService接口供你选择,而在程序执行过程中才决定使用哪一个 ...

  8. 使用Redis共享用户登录成功的信息

    一.问题 比如CSDN,开源中国等等网站,用户登录后不一定什么时候就会把你T了,意思就是不一定哪天在打开网站的时候就让你重新登录.这是怎么回事呢? 再比如:如果存到将用户信息存到Redis了,不清除的 ...

  9. 解决MySQL报错:Access denied for user ‘root’@‘localhost’(using password: YES)

    Windows 10(mysql5.1) 修改配置文件 找到MySQL安装目录下配置文件my.ini(在我的win10环境下,其路径为C:\ProgramData\MySQL\MySQL Server ...

  10. HDU-1878 欧拉回路(并查集,欧拉回路性质)

    欧拉回路 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submi ...