python中turtle.write的用法_菜鸟教程python3实例

python中turtle.write的用法_菜鸟教程python3实例学习菜鸟教程的Django教程,链接如下:安装:pipinstallDjango如果pip<1.4,使用:pipinstallhttps://www.djangoproject.com/download/1.11a1/tarball/或者clone代码:gitclonehttps://github.com/django/django.git创建一个项目:django-admi…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

学习菜鸟教程的Django教程,链接如下:

安装:

pip install Django

如果pip < 1.4,使用:

pip install https://www.djangoproject.com/download/1.11a1/tarball/

或者clone代码:

git clone https://github.com/django/django.git

创建一个项目:

django-admin.py startproject HelloWorld

创建项目中的一个app:

django-admin.py startapp TestModel

启动服务器方法:

python manager.py runserver 0.0.0.0:8000

访问方法:  浏览器输入

localhost:8000/

django采用mvc结构,在工程根目录下创建templates目录,并且修改主工程下的settings.py(参见# 修改位置部分):

…TEMPLATES = [

{

‘BACKEND’: ‘django.template.backends.django.DjangoTemplates’,

‘DIRS’: [BASE_DIR+”/templates”,],       #修改位置

‘APP_DIRS’: True,

‘OPTIONS’: {

‘context_processors’: [

‘django.template.context_processors.debug’,

‘django.template.context_processors.request’,

‘django.contrib.auth.context_processors.auth’,

‘django.contrib.messages.context_processors.messages’,

],

},

},

]

这样,可以在templates中放置html文件,由render渲染出来。

映射规则:

修改主工程下的urls.py文件,这里把浏览器访问的路径映射到特定的类来处理,如:

urlpatterns = [

url(r’^hello$’, view.hello),

]

这里的view是py文件,hello是其中的函数,用于处理对*.*.*.*:8000/hello格式的响应,它的主要功能是,将模板文件渲染出来,作为响应值,如:

from django.shortcuts import render

def hello(request):

context          = {}

context[‘hello’] = ‘Hello World!’

return render(request, ‘hello.html’, context)

其中hello.html是放置在templates中的文件,context中的内容是作为变量传递给hello.html的。

在模板文件中,是可以使用变量以及控制逻辑的。

使用变量方式,是 {
{ xxx }},比如上面传递的参数会在hello.html中这样使用:{
{ hello}}

控制逻辑的格式是

{% if xxx % }  xxx  {% endif %}

或者

{% for %} xxx  {% endfor%}

注释的格式是

{# xxx #}

还可以继承:

在base.html中设定继承部分

{% block name %} xxx {% endblock %}

然后再子类中sub.html声明:

{% extends “base.html” %}

然后修改继承的段

{% block name %} xxx {%endblock %}

还可以包含:

{% include”xxx.html” %}

上面的hello处理,可以区分是GET处理还是POST处理:

if request.method == ‘GET’:

do_something()

elif request.method == ‘POST’:

do_something_else()

可以通过参数字典直接获取传参,比如:

request.POST[‘q’]

这里的’q’就是参数,通过它作为索引值获取到对应的参数。

比如表单提交的处理如下:

# 接收POST请求数据

def search_post(request):

ctx ={}

if request.POST:

ctx[‘rlt’] = request.POST[‘q’]

return render(request, “post.html”, ctx)

在响应函数的过程中,还可以跟数据库进行交互。

首先配置数据库: (也可以配置成mysql)

DATABASES = {

‘default’: {

‘ENGINE’: ‘django.db.backends.sqlite3’,

‘NAME’: os.path.join(BASE_DIR, ‘db.sqlite3’),

‘USER’: ‘Jacob’,

‘PASSWORD’: ‘123456’,

‘HOST’: ‘localhost’,

‘PORT’: ‘3306’,

}

}

创建用于数据库的app,同时将app名字加入到settings.py的INSTALLED_APPS项中。

然后就可以定义表了,比如:

# models.py

from django.db import models

class Test(models.Model):

name = models.CharField(max_length=20)

然后让数据库把这个表创建起来: (下面的命令不要少一个)

python manage.py migrate   #创建表结构

python manage.py makemigrationsTestModel  #让 Django 知道我们在我们的模型有一些变更

python manage.py migrate TestModel   #创建表结构

操作数据库内容,就可以通过上面的类来使用,比如生成一个条目:

test = Test(name=’vvv’)

test.save()

删除一个条目:

Test.objects.filter(id=1).delete()

更新一个条目:

Test.objects.filter(id=1).update(name=’Google’)

全更新:

Test.objects.all().update(name=’all’)

写好了数据库操作的代码后,记得在数据库app的目录下,修改admin.py文件:

from django.contrib import admin

from TestModel.models import Test

# Register your models here.

admin.site.register(Test)

这里的admin,其实是django提供的一个管理页面,可以很方便的把数据库信息展示出来。

再详细介绍下admin。

首先激活这个管理工具: 修改映射规则文件urls.py,在urlpatterns中添加条目:

url(r’^admin/’, admin.site.urls),

创建一个超级用户:

python manage.py createsuperuser

这样,可以在浏览器中通过localhost:8000/admin/进行访问了。

可以在页面中,看到之前创建的相关数据库,并且操纵它们的内容。

同时,还可以自定义数据库展示的表单方式,比如定义一个Contact数据库:

class Contact(models.Model):

name   = models.CharField(max_length=200)

age    =models.IntegerField(default=0)

email  = models.EmailField()

def __unicode__(self):

return self.name

在admin.py中注册的时候,这样自定义表单:

# Register your models here.

class ContactAdmin(admin.ModelAdmin):

fields = (‘name’, ’email’)

admin.site.register(Contact, ContactAdmin)

还可以做列表样式,内联其它数据表,增加搜索栏等,示例如下:

# Register your models here.

class TagInline(admin.TabularInline):

model = Tag

class ContactAdmin(admin.ModelAdmin):

list_display = (‘name’,’age’, ’email’) # list

search_fields = (‘name’,)

inlines = [TagInline]  # Inline

fieldsets = (

[‘Main’,{

‘fields’:(‘name’,’email’),

}],

[‘Advance’,{

‘classes’: (‘collapse’,),

‘fields’: (‘age’,),

}]

)

admin.site.register(Contact, ContactAdmin)

完整代码工程参见:

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/196129.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 风控决策引擎经验

    风控决策引擎经验转载自https://mp.weixin.qq.com/s/LDcquVOTlCKJluyWG3AGAA一套完整的风控体系,在风控中,少不了决策引擎,今天就浅谈一下风控决策引擎。一、优先级风控决策引擎是一堆风控规则的集合,通过不同的分支、层层规则的递进关系进行运算。而既然是组合的概念,则在这些规则中,以什么样的顺序与优先级执行便额外重要。风控系统的作用在于识别绝对风控与标识相对风险…

    2022年6月15日
    51
  • c花体复制_花体

    c花体复制_花体路由器之家网今天精心准备的是《花体》,下面是详解!26个英文字母花体和圆体写法最好是大小写都有,要图片…最好是大小写都有,要图片26个花体和圆体英文字母如下1、圆体“圆体英文”是国内的一种说法,国外并没有与“圆体”相关的英文单词。国内常指代的圆体英文书法包括有手写印刷体、意大利体(或者意大利斜体、斜体)、圆体(国产圆体)这种字体简单易懂,写出来很好,是现在国内外常用的日常手写字体。普通的钢…

    2022年5月24日
    53
  • 最小二乘法原理及应用

    最小二乘法原理及应用最小二乘法是一种在误差估计 不确定度 系统辨识及预测 预报等数据处理诸多学科领域得到广泛应用的数学工具

    2025年8月1日
    2
  • 计算机技术职称自我评价,申报专业技术职称的自我评价

    计算机技术职称自我评价,申报专业技术职称的自我评价

    2021年8月16日
    40
  • compound extremes_conscientiousness

    compound extremes_conscientiousnessextremeComponents是一个好用的表格插件,可以方便的对分页,导出excel等进行操作并且可以和任何框架进行集成,包括springmvc,struts,struts2等

    2022年8月20日
    13
  • 远程桌面 指定端口_request获取ip地址

    远程桌面 指定端口_request获取ip地址iocp模型的tcp服务端若采用AcceptEx接受连接,在有客户端连接后要获取客户端的ip和端口信息流程:AcceptEx在工作线程收到客户端连接时复制listensocket的信息到新客户端的socketsetsockopt(pOverlapped->hSocket,SOL_SOCKET,SO_UPDATE_ACCEPT_CONTEXT,(cha…

    2022年9月1日
    5

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号