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)
上一篇 2025年10月3日 上午7:01
下一篇 2025年10月3日 上午7:43


相关推荐

  • 成功解决urllib.error.URLError urlopen error Errno 11004 getaddrinfo failed

    成功解决urllib.error.URLError urlopen error Errno 11004 getaddrinfo failed成功解决 urllib error URLError urlopenerror Errno11004 getaddrinfof 目录解决问题解决思路解决方法第一步 找到新的网址第二步 查看源代码 将网址覆盖即可 解决问题 urllib error URLError urlopenerror Errno11004 getaddrinfof 解决思路 urll urlopenerror Errno11004 getaddrinfof urlopenerror Errno11004 getaddrinfof

    2026年3月17日
    1
  • sql server2000数据库置疑_数据库置疑什么原因

    sql server2000数据库置疑_数据库置疑什么原因搜索热词先分离数据库企业管理器–右键suspect的数据库–所有任务–分离数据库然后备份你的suspect数据库的文件,再按下面的步骤处理:1.新建一个同名的数据库2.再停掉sqlserver3.用suspect数据库的文件覆盖掉这个新建的同名数据库4.再重启sqlserver5.此时打开企业管理器时新建的同名数据库会出现置疑,先不管,执行下面的语句(注意修改其中的数据库名)USEMA…

    2022年8月20日
    9
  • HTML 动画(一)[通俗易懂]

    HTML 动画(一)[通俗易懂]入场动画(一)图片从左至右逐渐消失实现逻辑:a:将遮罩分割为数个div,多个div通过图片定位拼接成一张图片;b:运用requestAnimationFrame+animation实现动画;c:遮罩层网格状逐步消失设置background-position:0;2.效果图:3.代码:<!DOCTYPEhtml><htmllang=”en”&…

    2022年6月29日
    28
  • pandas 0.23.4 :’pd.ewma’没有这个模块,改用`Series.ewm` 或 降低版本到 pandas 0.21.0

    pandas 0.23.4 :’pd.ewma’没有这个模块,改用`Series.ewm` 或 降低版本到 pandas 0.21.0问题:在进行画出指数平滑移动平均线,遇到如下问题:#pd.ewma(com=None,span=one)#指数平均线。com:数据;span:时间间隔AttributeError:module’pandas’hasnoattribute’ewma’解决办法:在pandas0.23.4版本中,已经不存在这种方法,回退到之前版本pandas0.21.0就一切完美…

    2025年7月12日
    6
  • 各种门平面图画法_cad门的画法_用CAD画门的平面图的方法步骤图

    各种门平面图画法_cad门的画法_用CAD画门的平面图的方法步骤图大家在CAD室内平面图中经常看到门吧,那么大家知道怎么用CAD画门的平面图呢?想了解的同学可以参照以下CAD画平面图的教程,自己尝试去画门的平面图!用CAD画平面图的门的方法1、如下图所显示,输入要画矩形的方框,输入rec。2、单击要如下图中点,在进行拉动。3、如果下图没有显示中点的话,可以右击对象捕捉,选择全部选择。4、如下图可以看得以画出一个小矩形框出来。5、可以看到了如下图用矩形画出的门框来…

    2022年5月25日
    68
  • MySql字段类型的选择

    MySql字段类型的选择主键设计主键不要与业务逻辑有所关联 最好是毫无意义的一串独立不重复的数字 且自增 最好设计为 Long 类型 对应 MySQL 的 bigintbigint 详解 MySQL bigint 20 是什么意思 根号 829 博客园 2 关于外键尽量不要建立外键 保证每个表的独立性 如果非得保持一定的关系 最好是通过 id 进行关联 我们使用业务进行管理 否则每次删除或更新都会关联查询 性能差 可以把这个逻辑放在业务层里 避免额外的查询 3 动静分离最好做好静态表和动态

    2026年3月18日
    2

发表回复

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

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