当前位置: 首页 > wzjs >正文

网站建设方案及报价单刚刚济南发通知

网站建设方案及报价单,刚刚济南发通知,wordpress 企业网站制作,如何做好公司网站建设一、app注册: pycharm使用django框架,注意在注册界面时就创建app,如果没有创建app。就在终端中运行 python manage.py startapp [app名] 然后再在settings.py里注册。 格式为: [app名].apps.[首字母大写的app名]Config 二、创…

一、app注册:

pycharm使用django框架,注意在注册界面时就创建app,如果没有创建app。就在终端中运行

python manage.py startapp [app名]

然后再在settings.py里注册。

格式为:

[app名].apps.[首字母大写的app名]Config

 二、创建数据表:

1.现在mysql中创建数据库,再在settings.py里连接数据库

settings.py关键代码:


DATABASES = {'default': {'ENGINE': 'django.db.backends.mysql','NAME': 'ceshi','USER': 'root','PASSWORD': '999123457','HOST': 'localhost','POST': '3306',}
}

顺带一提:调试阶段确保DEBUG设置为True

2.在models.py里创建类(即数据表)

例:

from django.db import modelsclass user(models.Model):name=models.CharField(verbose_name='姓名',max_length=20)time=models.DateTimeField(verbose_name='时间',auto_now_add=True)  # 自动添加时间

相当于创建了两列,一个为name一个为time。

然后执行

python manage.py makemigrations
python manage.py migrate

详见https://blog.csdn.net/qq_75247548/article/details/145709159?spm=1001.2014.3001.5501

 三、创建url和view的对应关系

1.在urls.py中创建url对应关系,打开url就会执行对应的视图函数

from django.contrib import admin
from django.urls import path
from app.views import *urlpatterns = [path('admin/', admin.site.urls),path('', index, name='index'),path('xg/', xg, name='xg')
]

2.

def index(request):user_list = models.user.objects.all()return render(request, '2.html', {'form1': user_list})

 获取models.py里的user类(即数据表)的所有数据并加载到2.html中

2.html则可以引用

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>111111</title><link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-T3c6CoIi6uLrA9TneNEoa7RxnatzjcDSCmG1MXxSR1GAsXEV/Dwwykc2MPK8M2HN" crossorigin="anonymous"><script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-s1swLUYcLBqAXHj7nWZcBD03oDfaVT4TaOQEaQGnSa65SsyckDHTlfGcB8+LOLkz" crossorigin="anonymous"></script>
</head>
<body>
<script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.11.6/dist/umd/popper.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.min.js"></script>
<table class="table table-striped table-dark"><thead><tr><th scope="col">id</th><th scope="col">name</th><th scope="col">time</th></tr></thead><tbody>{% for i in form1 %}<tr><th scope="row">{{ i.id }}</th><td>{{ i.name }}</td><td>{{ i.time }}</td></tr>{% endfor %}</tbody>
</table>
<a href="{% url 'xg' %}"><button type="button" class="btn btn-outline-primary">修改</button></a>
</body>
</html>

3.html又反向解析到xg的url中,找到views.py里对应的视图函数执行,然后又可以返回一个页面,以此类推。 

 过程:

 tips:提交表单记得

    {% csrf_token %}

四、form.Modelform组件

1.定义

class Usermodel(forms.ModelForm):class Meta:model = models.user  # models.py里的类名fields = ['name']  # 在html会自动生成合适的组件widgets = {"name": forms.TextInput(attrs={"class": "form-control","placeholder": "输入姓名"}),}error_messages = {'name': {'required': 'Please enter your name.',},}

 usermodel为定义的类名,继承forms.ModelForm这个django内置库。Meta,fields,widgets等为固定格式,不可修改。

首先指定model=【models.py里定义的数据表名】,

fields指定表单对象name,

fields指定后可以用widgets指定自定义样式为文字输入【TextInput】并添加自定义样式,

error_messages指定如果输入的数据不合规的报错信息

2.使用

当我们定义好之后,如果输入的内容想直接保存在数据库中非常简单。只需要

form = Usermodel(data=request.POST)if form.is_valid():form.save()return render(request, '成功.html')else:return render(request, '1.html', {'form2': form})

 其中form.is_valid()用于验证表单是否符合数据库规定的格式,如果符合就保存并返回成功。

否则直接返回

五、案例

用上面的知识,我们可以自己搭建一个简单的打卡系统。

因为同一个表单我们需要两种提交按钮,一种用于添加,一种用于删除。并且我们后台需要判断点击的是哪种按钮来执行不同的后台视图函数。因此我们使用JavaScript对我们的按钮进行监听,以执行不同的函数。并且执行完操作我们需要更新数据库并返回页面,就需要用到反向解析。

功能:

演示视频

附源码: 

https://github.com/dubaibubai/dubaibubai.git(未更新)

问题整理:

1.html的button跳转传参:

用a标签嵌套,直接跳转到这个kjxg的url,但是这里先会获取当前页面url的page参数的值,并以url合规的形式附加到href中,接着进入视图函数,可以从url直接获取page值(获取值不一定从表单获取,也可以直接在url中传参),再重定向到index url中

<a href="{% url 'kjxg' i.id %}?page={{ request.GET.page|default:1 }}" class="btn btn-outline-danger btn-sm">删除</a>

def kjxg(request, id):# 获取当前页码current_page = request.GET.get('page', 1)  # 如果没有页码参数,默认为 1# 执行删除操作models.user.objects.filter(id=id).delete()# 重定向到当前页码return redirect(f'{reverse("index")}?page={current_page}')

 

http://www.dtcms.com/wzjs/518684.html

相关文章:

  • 关于网站设计的毕业论文重庆百度seo排名
  • 贸易公司注册资金多少合适杭州排名优化公司电话
  • 郴州哪个县最繁华短视频seo推广
  • 网站举报电话是多少网络营销是什么工作主要干啥
  • 做品牌网站的企业惠州搜索引擎优化
  • wordpress 3无法上传rar zip晨阳seo服务
  • 网络科技公司门户网站小程序推广平台
  • 大学生网站建设徐州网页关键词优化
  • 淮北网站建设推广阿里云域名购买
  • 怎样让百度搜不到自己的网站seo店铺描述例子
  • 医疗网站建设好么棋牌软件制作开发多少钱
  • 博客类网站建设竞价推广教程
  • 做网站大概一个月多少工资拉新app渠道
  • wordpress模板 古典英文外链seo兼职
  • 网站中flash怎么做的活动策划方案详细模板
  • 网站开发维护上海推广系统
  • html做简单网站实例宁波seo外包推广公司
  • 响应式mvc企业网站源码社交媒体营销案例
  • flash做的网站seo外包杭州
  • 公职人员可以做网站吗广州seo黑帽培训
  • 做设计的一般用什么网站找素材香港头条新闻
  • 网络公司给别人做网站的cms是买的授权么什么是优化设计
  • 廊坊网站网站建设英语培训机构前十名
  • web校园网站开发实验报告深圳网络营销推广
  • 如何办理个人营业执照搜索引擎优化培训免费咨询
  • 北京网页设计师培训班快速seo关键词优化技巧
  • 设计h5是什么意思宁波网站seo哪家好
  • 做电商网站要备案吗万网域名
  • 找家里做的工作到什么网站谷歌关键词工具
  • 外贸网站建设哪家快速app推广平台