Django登录-----19

项目运行:manage.py--->settings.py(读配置)---->urls(根路径文件读取)--->app项目【urls.py--->views.py(控制层读取数据库;页面跳转)--->models.py(实体类,生成数据库的表{注意:实体类必须继承models.Model})】
在(views.py)通过继承的models可调用save()方法,使得用户输入的数据存入数据库


后台(views.py)跳转到页面的方式:
第一种:return HttpResponse("ok------")不需要页面,只是把括号里的内容返回页面(页面什么样式请求,就同样返回)


第二种:return render(request,'succes.html',{“uname”:uname})跳转到的页面。可带参数


第三种:redirect(reverse(‘app_name:name’,args=[参数])) 如果直接跳转到页面就不能带参数过去


project_name:(项目名称)
    默认文件
        __init__ 控制项目包导入
        settings.py 设置:数据库,APP,中间件,DEBUG,根路径,静态文件,指定程序启动的入口,指定模板目录,加载路由规则--->urls.py
        urls.py     统一资源定位符(一些资源的绝对路径)
项目里面的是总的,APP的附属项目url
访问是从总体开始,总路径在settings.py里面配置,通过总路径进入APP的url,再通过APP的url进入指定的页面
        wsgi.py   程序接口      
    templates
        html的文件目录
    manage.py  项目总控制




问:如何将用户名代入到注册成功页面?
答:在(views.py)的render里带参数(return的页面后)参数:{'uname':uname};然后在指定页面写入:{{ uname }}。
或是将对象带进去,在HTML页面对象.name:{'bloguser':bloguser}/{{ bloguser.userName }}||{{ bloguser.pwd }}
注:{{ uname }}(里面的参数为views的键)两个{{}}是Django自带标签/模板。




问:在后台迁移在同一个数据库里同一个APP为什么生成不了表?
答:在库里有一个表自动生成(Django__migrations(迁移)),里面有记录(APP的名字和详细),同样的APP就无法生成表名。


数据库生成对应APP的表
由于我刚开创建的时候就创建了开始的app 为blog
接着我们需要执行manage.py的shell命令  用快捷键 Ctrl+alt+R可进入
makemigrations appname 生成创建数据库表的脚本  在这里数据库中并没有创建表
sqlmigrate Appname version (sqlmigrate bloguser 0001)打印sql语句
migrate appname version(migrate bloguser 0001) 运行创建数据库的脚本 (注:没有在models里面写内部类,生成的表名有前缀)


200—300代表成功
300—400位置发生改变
400—500资源不可用,比如资源地址写的不对,或者资源地址写的对但权限不够
403:表单提交不过去,需要在表单中添加:{% csrf_token %}
404:找不到页面
500:服务器页面错误




问:请求的转发:1刷新浏览器重新提交表单2、只能在项目内部跳转3、地址没有改变。
转发:一次请求和响应,请求的地址没有发生变化,如果此时刷新页面就会出现重做现象
重定向:一次以上的请求和响应,请求地址发生一次以上的变化。如果此时刷新页面不会出现重做现象
答:我们需要在我们的views.py里面导入redirect和reverse模块,然后需要在我们刷新的时候跳转到另一个页面,我们在里面创建一个 show() 通过用户的id来显示到页面上




防止username重复
唯一约束:在数据库里修改表---->个人索引;第二,在models.py里加入 unique=True(将数据库里同样的数据先删除)在回控制台 输入makemigrations blog(生成0002文件)---->sqlmigrate blog 0002(查看语句)----->migrate blog 0002(修改成功)




创建js文件夹
new Directory是创建一个文件夹,在创建一个存放js文件的地方
new Python Package里面会生成init文件
创建js文件后,需要在settings.py里设置路径:
STATIC_URL(静态文件路径) = '/static/'(第一个/不写就是当前路径,写/就是跟路径)#地址栏输入的名字要与这个为主,目录名可与这个不同。
STATICFILES_DIRS=[#文件目录
    os.path.join(BASE_DIR,'static'),#所有静态文件是从根路径到这个静态文件夹
]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值