python 3.5 django 笔记(五)编辑文章





上一会已经使用了超链接功能

这回我们要给博客添加内容了

这是今天的效果图

1、

创建修改页面

在templates/blog下建立edit_page.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Edit Page</title>
</head>
<body>

<form action="{% url ‘blog:edit_action‘ %}" method="post">
<!--将数据传递给后台-->
{% csrf_token %}
    <label>文章标题
        <input type="text" name="title"/>
        <!--title值-->
  </label>
    <br/>
    <label>文章内容
        <input type="text" name="content"/>
        <!--content值-->
    </label>
    <br/>
    <input type="submit" value="提交">
</form>

</body>
</html>

2、

修改views.py(经典的页面操作文件)

添加下面的内容

def edit_page(request):
    #定义显示页面
    return render(request, ‘blog/edit_page.html‘)
    #只做页面显示
    
    
def edit_action(request):
    #页面操作,刚刚html文件传递到这个函数
    title = request.POST.get(‘title‘, ‘TITLE‘)
    #html输入的title值
    content = request.POST.get(‘content‘,‘CONTENT‘)
    #html输入的content值
    models.Article.objects.create(title=title, content=content)
    #将title和content创建对象
    articles = models.Article.objects.all()
    #更新
    return render(request,‘blog/index.html‘,{‘articles‘:articles})
    #返回index页面,然后刷新已传递的值

3、

改完views.py,肯定要修改ursl(一一对应)

from django.conf.urls import url

from . import views

urlpatterns = [
    url(r‘^index/$‘, views.index),
    url(r‘^article/(?P<article_id>[0-9]+)/$‘, views.article_page, name="article_page"),
    #多了下面两行
    url(r‘^edit/$‘, views.edit_page, name=‘edit_page‘),
    #name是标识
    url(r‘^edit/action$‘, views.edit_action, name=‘edit_action‘),

]

打开:http://127.0.0.1:9999/blog/edit/action



显示正常囖~~~~

回到index.html,完善一下新文章,让他跳转到添加文章的页面去

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

<h1><a href="#">我的博客</a> </h1>
<h2><a href="{% url ‘blog:edit_page‘ %}">新文章</a> </h2>
<!-- 主要来这里{% url ‘blog:edit_page‘ %}跳转到blog标识下的edit_page页面-->

{% for articles in articles %}
<a href="{% url ‘blog:article_page‘ articles.id %}">{{ articles.title }}</a>
<br/>
{% endfor %}
</body>
</html>
时间: 2024-10-24 18:46:00

python 3.5 django 笔记(五)编辑文章的相关文章

python 3.5 django 笔记(二)Tmeplates与models

回顾上节课的三条经典命令 django-admin startproject 项目名称 #建立项目 python manage.py startapp blog #建立项目内站点 python manage.py runserver #启动服务 #runserver后面可以带端口号,表示运行是的端口 Tmeplates: (图片转载至幕课) 在昨天的myblog\blog下简历templates文件夹 结构树 myblog | |-----blog |    | |    |-----templ

python 3.5 django 笔记

django入门笔记 环境: PyCharm pro5.0.3 python3.5 上面两个软件安装后 python需要添加环境变量 否则在cmd内运行会报错 我电脑使用的是win10 环境变量path内添加 C:\Users\hisun\AppData\Local\Programs\Python\Python35\ C:\Users\hisun\AppData\Local\Programs\Python\Python35\Scripts 第一行是python的路径,第二行是pip的路径 pip

python 3.5 django 笔记(六)修改博客标题与内容

接下来,要把博客继续完善 画个画儿先~~ ~~~~~~ ~~~~~~ 主页点击修改文章----修改文章页面 主页点击新文章----新文章页面 新文章提交后----主页 修改文章提交后----修改文章 ~~~~~~ ~~~~~~ 敲代码咯 编辑edit_page.html页面 <body> <form action="{% url 'blog:edit_action' %}" method="post"> {% csrf_token %} &l

python 3.5 django 笔记(七)高级admin

任务目标: 显示admin上的字段 开始修改代码: 1. 修改blog下的models.py文件 from django.db import models # Create your models here. class Article(models.Model):     标题 = models.CharField(max_length=32, default='Title')     #添加models模块(标题)     内容 = models.TextField(null=True)  

python之list(学习笔记五)

python之list(学习笔记五) Python内置的一种数据类型是列表:list.list是一种有序的集合,可以随时添加和删除其中的元素. 比如,列出公司里同事的名字,就可以用一个list表示: >>> worker = ['wtf','laotan','xiaoxian'] >>> worker ['wtf', 'laotan', 'xiaoxian'] 变量 worker 就是一个list.用 len() 函数可以获得list元素的个数: >>>

Python框架之Django学习笔记(十一)

话说上次说到数据库的基本访问,而数据库我们主要进行的操作就是CRUD,也即是做计算处理时的增加(Create).读取(Retrieve)(重新得到数据).更新(Update)和删除(Delete),俗称:增删改查.废话不多说,学习开始. 插入和更新数据 你已经知道怎么做了: 先使用一些关键参数创建对象实例,如下: 1 >>> p = Publisher(name='Apress', 2 ... address='2855 Telegraph Ave.', 3 ... city='Berk

西游之路——python全栈——Django~1

知识预览 Django基本命令 二 路由配置系统(URLconf) 三 编写视图 四 Template 五 数据库与ORM admin的配置 一 什么是web框架? 框架,即framework,特指为解决一个开放性问题而设计的具有一定约束性的支撑结构,使用框架可以帮你快速开发特定的系统,简单地说,就是你用别人搭建好的舞台来做表演. 对于所有的Web应用,本质上其实就是一个socket服务端,用户的浏览器其实就是一个socket客户端.   最简单的Web应用就是先把HTML用文件保存好,用一个现

web开发框架Django笔记整理

安装 python  setup.py  install 使用 1.创建工程 django-admin.py startproject Data_Collet_Center 2.运行开发server python manage.pyrunserver 0.0.0.0:8000 3.创建应用 python manage.py startapp DCC 4.配置 Data_collect_Center/settings.py 配置DB: 'ENGINE': 'django.db.backends.s

Python基础(Django三——Model)

本篇内容接上篇Python基础(Django二) 七.Model 1.说明: Model是Django为方便程序操作数据库而诞生的,使用的是ORM模式. 对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术.简单的说,ORM是通过使用描述对象和数据库之间映射的关系,将程序中的对象自动持久化到关系数据库中. 2.使用: 2-1.创建Model(编辑应用目录下的models.py) from django.db