Django操作与内容

一、路由系统

1.如何实现伪静态

在cnblogs中:https://www.cnblogs.com/wangwei5979/p/11160708.html
而我们自己写的:
http://127.0.0.1:8000/up_studnet/?id=12同样是网页 为何cnblogs这样设计
原因:
1就是因为比较美观
2由于使用搜索引擎来搜索我们所需要的内容使,第一种的方式更容易被各个搜索引擎所收录,被搜索
到的概率就高,我们自己写的会被搜索引擎认知为动态网页,而第一个方式就是伪静态。例题: http://127.0.0.1:8000/up_studnet/?id=12http://127.0.0.1:8000/up_studnet/12/ 如何实现:在urls.py里,在url中添加这样的正则匹配, [url(r'^index/(\w+)/(\w+)/', index), url(r'^test/(?P<id>\w+)/(?P<name>\w+)/', test),]def test(request, name, id): print(id , name)return HttpResponse('test')此时就不需要用?id=某个值来进行传值,避免了使用?来操作

  

2.路由正则与反向路由

在url里
url(r'^test2/', test2)
在html中会匹配以test2/开头的所有接下来的网页可以url(r'^test2/$', test2)
只能匹配/test2/的网页了还可以自己定义404:
url(r'^', notfound)  需要写到最下面在定义了这个统配之后,所有在url没有的  都会走这个自定义的404了反向路由:
后台url:
url(r'^logindjsajdbjsabdsabdbsabdhsabdhbsahbdsaasa/$', login, name='xxx')前台:	
<form action="{% url 'xxx' %}"><input type="text">
</form>

  

3.路由分组

有许多相同的方法可以写在一个py文件里,django也有这个方法,可以通过创建app来完成,
在创建django时只可以带着创建一个app文件。 django创建app: python3 manage.py startapp 自定义app名称路由分组总urls.py; url(r'^app02/', include('app02.urls')), url(r'^app03/', include('app03.urls')),分app下的 urls.py: from app03 import viewsurlpatterns = [url(r'^students/', views.studnets)] 然后在app下的views.py里写方法

  

二、函数视图

FBV:
function based viewCBV:
class based viewurls.py:
url(r'^login/', views.Login.as_view()),views.py:
from django.views import Viewclass Login(View):def get(self, request):return render(request, "login.html")def post(self, request):
uname  = request.POST.get('username')print(uname)
return HttpResponse('ok')原理:
'get': 请求数据
'post':提交数据
'delete': 删除数据
'put': 更新数据
'patch': 更新部分数据ps:
form表单提交 只支持get、post  ajax支持核心:def dispatch(self, request, *args, **kwargs):super(Login, self).dispatch(request, *args, **kwargs)
可以创建dispatch方法来做数据的限制			

  

三、Django的ORM

Django的ORM,跟sqlalchemy一样都是操作mysql数据库的。
在Django的ORM中,
orm配置:
a.创建数据库
create database 数据库名b.配置mysql数据库的链接:
DATABASES = {# 'default': {#     'ENGINE': 'django.db.backends.sqlite3',#     'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),# }'default': {'ENGINE': 'django.db.backends.mysql','NAME': 'xxx',    ## 数据库名称'USER': 'xxx',## 数据库用户名称'PASSWORD': 'xxx',    ## 安装 mysql 数
据库时,输入的xxx 用户的密码'HOST': '127.0.0.1',}}c. 注册app: INSTALLED_APPS = ['django.contrib.admin','django.contrib.auth','django.contrib.contenttypes','django.contrib.sessions','django.contrib.messages','django.contrib.staticfiles','app02','app03'] d. 需要将mysqldb换成pymysql python3:pymysqlpython2:MySQLdb在总的的 __init__.py文件里 import pymysql pymysql.install_as_MySQLdb()e:创建表 命令:在app文件的models里,可以创建如下表: class Classes(models.Model):cid=models.AutoField(primary_key=True)cname = models.CharField(max_length=32, null=True)然后再Terminal里python manage.py makemigrationspython manage.py migrate

  

 

转载于:https://www.cnblogs.com/wangwei5979/p/11191503.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/361896.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

监控 SQL Server 的运行状况

Microsoft SQL Server 2005 提供了一些工具来监控数据库。方法之一是动态管理视图。动态管理视图 (DMV) 和动态管理函数 (DMF) 返回的服务器状态信息可用于监控服务器实例的运行状况、诊断问题和优化性能。 常规服务器动态管理对象包括&#xff1a; dm_db_*&#xff1a;数据库和…

RFC2616-HTTP1.1-Header Field Definitions(头字段规定部分—单词注释版)

part of Hypertext Transfer Protocol -- HTTP/1.1RFC 2616 Fielding, et al. 14 Header Field Definitions(规定) This section(部分&#xff0c;章节) defines(规定定义) the syntax(语法) and semantics(语意) of all standard(标准) HTTP/1.1 header fields. For entity-…

Java开发人员应该知道的5种错误跟踪工具

随着Java生态系统的不断发展&#xff0c;可满足不断增长的请求和用户对高性能需求的Web应用程序成为了新型的现代开发工具。 具有快速新部署的快速节奏环境需要跟踪错误并获得应用程序行为的洞察力&#xff0c;而传统方法无法维持这种水平。 在这篇文章中&#xff0c;我们决定收…

Emacs中的Color Theme以及字体设置

先上一张效果图&#xff1a; Color Theme用的是gnome2, 字体用的是Visual Studio自带的Consolas。我使用的环境是WindowsCygwinEmacs23.2。 1,安装Color Theme插件 首先&#xff0c;从http://download.savannah.gnu.org/releases/color-theme/下载color theme 6.6.0版本。 接着…

JavaScript与 HTML表单的交互过程,想要学习动态网页但是无从下手的新手看看。...

最近开始了 java web的学习在学习中学到了很多有用的东西 比如说 html 表单如何 和 javascript进行交互的 读完本篇文章后相信初学者会有一个 清晰的理解 。。。 对应下面的代码看我写的问题 。 其实表单的交互操作很简单 就是在 提交表单数据的时候调用一个 javascrip…

问题记录之前端路由系统

概要&#xff1a; 公司的一个项目中使用了根据路由配置生成对应的Route&#xff0c;而配置会存在一份在store中&#xff0c;当store中的RouteConfig变化时&#xff0c;会根据最新的配置来生成最新的试图。 因为路由配置系统实现上的一些缺陷本次需要对其就行性能上的一些优化…

vue兼容ie10问题并且node——module中出现es6语法如何解决

一、首先进行安装babel-polyfill&#xff0c;如果你用yarn安装babel-polyfill的话需要yarn add babel-polyfill进行安装 二、在babel.config.js中加入 三、在ie浏览器中找到报错的文件&#xff0c;然后将文件加入其中 转载于:https://www.cnblogs.com/changhuanran/p/11193149.…

2个在Java中将Byte []数组转换为String的示例

将字节数组转换为String似乎很容易&#xff0c;但是很难做到正确。 每当字节转换为String或char时&#xff0c;许多程序员都会犯忽略字符编码的错误&#xff0c;反之亦然。 作为程序员&#xff0c;我们都知道计算机只能理解二进制数据&#xff0c;即0和1。我们看到和使用的所有…

Linux文件IO-例会笔记总结

上周日实验室例会主要涉及linux文件操作的内核实现。主要讨论了linux下对文件进行操作时&#xff0c;系统内部调用了那些函数以及它们是怎么相互配合的。 linux系统是怎样对不同介质和不同的文件系统提供统一的文件操作接口呢&#xff1f;答案是&#xff1a;VFS。系统中所有文件…

js算法初窥03(搜索及去重算法)

前面我们了解了一些常用的排序算法&#xff0c;那么这篇文章我们来看看搜索算法的一些简单实现&#xff0c;我们先来介绍一个我们在实际工作中一定用到过的搜索算法——顺序搜索。 1、顺序搜索 其实顺序搜索十分简单&#xff0c;我们还是以第一篇文章写好的架子作为基础&#…

nginx try_files流程解析

前端部署单页应用时在nginx上经常用到try_files指令&#xff0c;而对于try_files并不知道其所以然&#xff0c;所以花时间整理总结如下。 Syntax: try_files file … uri; try_files file … code; Default: — Context: server, location 根据root和alias指令提供的值按照tr…

javascript中编码与解码的decodeURI()、decodeURIComponent()区别

1、 定义和用法 decodeURI() 函数可对 encodeURI() 函数编码过的 URI 进行解码。decodeURIComponent() 函数可对 encodeURIComponent() 函数编码的 URI 进行解码。 从W3C的定义和用法来看&#xff0c;两者没有什么区别&#xff0c;但是两者的参数是有区别的&#xff1a;decodeU…

vb 类模拟 引用

引用&#xff1a;http://wenku.baidu.com/view/f434ea26a5e9856a56126008.html Class1中 Option Explicit Public Sub test() Form1.TextForIpAddressAdd.Text "123"End Sub Form1中 Option Explicit Private test As New Class1 Private Sub Form_Load() 初始化 te…

用js来实现那些数据结构12(散列表)

上一篇写了如何实现简单的Map结构&#xff0c;因为东西太少了不让上首页。好吧。。。 这一篇文章说一下散列表hashMap的实现。那么为什么要使用hashMap&#xff1f;hashMap又有什么优势呢&#xff1f;hashMap是如何检索数据的&#xff1f;我们一点一点的来解答。 在我们学习一门…

如何自定义Hibernate脏检查机制

介绍 在上一篇文章中&#xff0c;我描述了Hibernate自动脏检查机制。 尽管您应该始终喜欢它&#xff0c;但是有时您可能想添加自己的自定义污垢检测策略。 自定义脏检查策略 Hibernate提供以下定制机制&#xff1a; 休眠拦截器#findDirty&#xff08;&#xff09; CustomEnt…

读vue【深入响应式系统】后整理

一直以来对vue的依赖自动追踪的原理很感兴趣&#xff0c;像魔法一样。对于交给vue的对象返回后&#xff0c;在哪里使用了这个返回的对象vue会自动追踪&#xff0c;等这个对象改变时vue会自动通知到之前使用改变量的方法&#xff0c;整个过程和react很不一样&#xff0c;react的…

萌新自我介绍

第一次用博客&#xff0c;多有不会&#xff0c;可能向各位大佬请教&#xff0c;谢谢&#xff01;&#xff01;&#xff01;&#xff01;转载于:https://www.cnblogs.com/fakerOrz/p/11194872.html

使用select一个表更新另一个表(批量更新)

update a set a2b.b2, a3b.b3, ... from b where a.a1b.b1 转载于:https://www.cnblogs.com/haver/articles/2244740.html

用js来实现那些数据结构06(队列)

其实队列跟栈有很多相似的地方&#xff0c;包括其中的一些方法和使用方式&#xff0c;只是队列使用了与栈完全不同的原则&#xff0c;栈是后进先出原则&#xff0c;而队列是先进先出&#xff08;First In First Out&#xff09;。 一、队列 队列是一种特殊的线性表&#xff0c…

探索SwitchYard 2.0.0.Alpha2快速入门

在我的最后一篇文章中&#xff0c;我解释了如何在WildFly 8.1上使用SwitchYard。 同时&#xff0c;该项目很忙&#xff0c;并发布了另一个Alpha2。 这是一个很好的机会&#xff0c;在这里浏览快速入门并刷新您的记忆。 除了版本更改之外&#xff0c;您仍然可以使用较早的博客来…