欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

一个简单的Django小实例--表单提交及一些Django细节

程序员文章站 2022-07-14 23:04:45
...

初学Django,分享一下一个简单的表单提交保存小实例,以及一些小细节供大家借鉴学习,过程有点粗略,写个大概。

1,首先,建立一个django文件
2,setting.py设置en-hans和Asia/Shanghai

LANGUAGE_CODE = 'zh-hans'
TIME_ZONE = 'Asia/Shanghai'

3,setting数据库设置七个值,第一个不变,最后数据库改成mysql,NAME,USER,PASSWORD,HOST,PORT这几列,分别是你要添加的“数据库名”,“MySQL账户、密码”,“主机地址”,“端口号” 。用于访问mysql数据库
一个简单的Django小实例--表单提交及一些Django细节

4,添加数据库,并将数据库编码格式设置为charset utf8
5,pycharm中打开MySQL,并找到在里面添加的数据库
6,setting.py文件所在的文件夹下的的init.py文件添加pymysql模块

import pymysql
pymysql.install_as_MySQLdb()

7,迁移数据库python manage.py migrate,刷新数据库
8,models模块中添加类 ,例如:

class 类名(models.Model):
     name=models.CharField(max_length=18)
     。。。
     性别添加默认值

9,生成迁移文件,然后迁移文件

python manage.py makemigrations
python manage.py migrate

10,如果想改 class 类名,在class下面再添加一个子类

class Meta:
      db_table='新名字'

前面基本的类创建完以及准备阶段完成,下面添加url跳转功能

11,urls.py模块中添加一个注册功能的url链接到views
12,在views里生成注册的方法

def register(request):
    return render(request, 'register.html')

13,然后编辑register.html文件
一个简单的Django小实例--表单提交及一些Django细节
14,上面那个链接http://127.0.0.1:8000/do_register/是跳转到一个新的urls实现具体的把网页输入的内容保存到数据库
15,urls跳转到views里实现具体功能

def do_register
    username = request.POST.get('username')
    pwd = request.POST.get('password')
    mail = request.POST.get('mail')
    sex = request.POST.get('sex')

    stud = stu()
    stud.name = username
    stud.password = pwd
    stud.mail = mail
    stud.sex = sex
    stud.save()

    return HttpResponse('用户注册成功')

16,最后这样就做好啦,还有几点小细节

1,关于csrf拒绝第三方访问的错误,两种解决办法办法:
一,html文件中第一个form下面添加{% csrf_token %}.
二,setting中MIDDLEWARE中包含csrf的那一行注释掉
2,html文件地址最后不要忘记加斜线,不然会报错
3,{{ ‘里面是变量’ }} , {% 里面是语句 %}