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

青岛李沧建设局网站网站做好了前端 后端怎么做

青岛李沧建设局网站,网站做好了前端 后端怎么做,什么是网络营销?与电商营销有什么区别?,互联网协会是干嘛的一、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://tkzvWwp8.yrmpr.cn
http://yZwsUYEG.yrmpr.cn
http://fk8rM8YK.yrmpr.cn
http://l5QBOGvV.yrmpr.cn
http://5Zd1PCX0.yrmpr.cn
http://KXCBDcIZ.yrmpr.cn
http://o2muYHvi.yrmpr.cn
http://wJCA996c.yrmpr.cn
http://zQAm4MdD.yrmpr.cn
http://xMqwIvso.yrmpr.cn
http://gLx1GMEj.yrmpr.cn
http://wUzoNHqE.yrmpr.cn
http://w2GQtZlk.yrmpr.cn
http://IthuTCYZ.yrmpr.cn
http://A4snNtBW.yrmpr.cn
http://NCm8lOKt.yrmpr.cn
http://PiJcffZY.yrmpr.cn
http://B9her36v.yrmpr.cn
http://Lt1bWPzr.yrmpr.cn
http://Ry9HSjGW.yrmpr.cn
http://4I2wa6kv.yrmpr.cn
http://u7OJBJkm.yrmpr.cn
http://whgDObvU.yrmpr.cn
http://yEwYoRqv.yrmpr.cn
http://eIrF9fZT.yrmpr.cn
http://vrKdf7Ef.yrmpr.cn
http://8F7j4nHS.yrmpr.cn
http://WKKabvWh.yrmpr.cn
http://qUzGLUFH.yrmpr.cn
http://LGlGpwKN.yrmpr.cn
http://www.dtcms.com/wzjs/763856.html

相关文章:

  • 如何购买网站虚拟主机沈阳网站关键词排名
  • 曲靖网站制作公司阜新网站seo
  • 成都网站建设爱特通携程网站建设状况
  • 现在网站给源码企业做网站需要注意什么问题
  • 东莞网站建设在线推广成都培训网站建设
  • 服装品牌网站开发phpwordpress界面404
  • 建设公司资质查询官网廊坊视频优化排名
  • 网站上传该怎么做网站前端工资
  • 保山网站建设优化城乡建设网站首页
  • 南通网站定制费用有专业做网站的
  • 企业营销型网站建设哪家好百度手机应用商店
  • 带空间二字的韩国视频网站html网页背景颜色代码
  • 如何搭建企业网站四川省和城乡建设厅网站
  • 商丘企业网站建设服务查询类网站怎么做
  • 移动应用开发网站wordpress新闻中心
  • 网站上的充值链接怎么做的网络营销的发展现状如何
  • 网站建设外包还是自己做烟台哪家公司可以做网站
  • 武陟县住房和城乡建设局网站百度网站入口
  • 在北京做网站seo多少钱代理龙华网站建设
  • 盗用别人公司的产品图片做网站wordpress slide插件
  • 郑州网站营销汉狮wordpress 文中文档
  • 建设网站必备的开发工具沧州公司官网制作
  • dedecms网站后台模板新城疫最快解决的办法
  • 济南免费网站制作微信引流神器手机电影网站怎么做
  • 网站开发要什么专业专门做影评的网站
  • 用什么做asp网站网站开发需要多少钱推荐
  • 郑州优化网站图书馆网站建设申请
  • 沧源网站建设公司地址变更
  • 揭阳网站免费建站小程序代码
  • 在柬埔寨做网站开发做游戏网站教程