Python Web全栈开发_Django商城项目 2 开始创建app、路由、数据库、注册页面相关功能1/2

要在pycharm的terminal中以命令形式做任何事情,必须时刻清醒地检查,虚拟环境的环境码必须和项目中的一致,也要和 pycharm中配置的虚拟环境一致。1. 开始创建应用, 即app 哦。## 要在pycharm的terminal中以命令形式做任何事情,必须时刻清醒地检查,虚拟环境的环境码必须和项目中的一致,也要和 pycharm中配置的虚拟环境一致。@@ 在pycharm的terminal中可以ipip list 一下,看看这些和你 在cmder中的虚拟(环境码)(以及它下面的pip lis
摘要由CSDN通过智能技术生成

@@ 跟着 bill 哥 仗剑走开发 系列项目_电商平台billshop , 不定期更新 !

1. 开始创建应用 , 即app 哦。 先做注册功能,它属于用户 模块

## 要在pycharm的terminal中以命令形式做任何事情,必须时刻清醒地检查,虚拟环境的环境码必须和项目中的一致,也要和 pycharm中配置的虚拟环境一致。
@@ 在pycharm的terminal中可以ipip list 一下,看看这些和你 在cmder中的虚拟(环境码)(以及它下面的pip list 是否一致)
在这里插入图片描述

怎么创建? 在pycharm的terminal中,还是?

显然,对于我来说,肯定不想去每次纠正验证一下pycharm中的terminal。
肯定是按照常规 在cmder中进行命令。

@创建users app
命令: python manage.py startapp users
在这里插入图片描述
但是,按照我的需求,有这么多app ,是不是将来管理起来很乱呢?
在这里插入图片描述
所以,我想建一个apps 包(即apps 名字的package),然后将users 也拖到apps中,以后所有的app 都在apps中统一管理,这样就很整洁干净。

在这里插入图片描述

2. 创建注册功能

在apps–users–views下定义类,并将自己准备的register.html 复制到templates 下。
在这里插入图片描述
@@ 但此时,是不能正常显示的,功能不能实现,原因以下:
首先, app本身我并没有注册,那好,我们走,注册去。
翻山越岭来到 dev.py 搞起
在这里插入图片描述

在这里插入图片描述

这时候,我想访问一下注册页面,是否可以?
不行啊, 想想看, 路由有没有…

所以啊, 咱 在users下新建一个urls.py,定义这个子路由。
在这里插入图片描述

然后我们来到总路由进行定义:
利用include 来进行路由模块化。 path(‘/’,include(‘users.urls’)), 前面这个‘/’的话,那就一直跟着apps的urls 子路由来匹配

在这里插入图片描述
好了,运行manage看看效果。咦! 报错了,
在这里插入图片描述
@@@@@@@@ 插播小知识点回顾 @@@@@@@
URL模块化
URL中包含另外一个urls模块:
在我们的项目中,不可能只有一个app,如果把所有的app的views中的视图都放在urls.py中进行映射,肯定会让代码显得非常乱。因此django给我们提供了一个方法,可以在app内部包含自己的url匹配规则,而在项目的urls.py中再统一包含这个app的urls。使用这个技术需要借助include函数。

from django.contrib import admin
from django.urls import path,include

urlpatterns = [
    path('admin/', admin.site.urls),
    path('book/',include("book.urls"))
]

在urls.py文件中把所有的和book这个app相关的url都移动到app/urls.py中了,django_first/urls.py中,通过include函数包含book.urls,以后在请求book相关的url的时候都需要加一个book的前缀。
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@

那我们知道了, 是因为include中,没有写完整路由。
这样就运行ok 了。
在这里插入图片描述
前端网页中,把users/register/路由写上就能访问了。
在这里插入图片描述

@@@ 在这里插入图片描述

在这里插入图片描述
它压根没有找到apps
在这里插入图片描述
所以,只要在导包路径中,加入apps,不就搞定了吗?
注意, terminal中可以看到,路径是 一个列表, 所以我们只要把列表中把第一个路径值取出来,添加到sys_path 即可实现,可以用.insert 也可以用.append 。
这里我用了.insert方法 , 注意添加后,删除所有的第二根\, 脚本中只要一根就可以。

在这里插入图片描述
在这里插入图片描述
那么还有个问题,我总不能把这个路由写成硬编码吧,所以要优化了。记不记得 BASE_DIR,去运行一下当前项目manage看看
在这里插入图片描述
路径拼接实现了非硬编码, 这时候,项目路径随便更换都不用再改了。
在这里插入图片描述

3. 继续解决展示注册界面的样式加载。

step 1
在register.html中 最上方 {% load static %}
step 2
ctrl+R 差找…/static/
改为{% static‘
执行replace all
在这里插入图片描述

好了, 运行一下,看看是否加载完成了。
在这里插入图片描述

先到这里, 后续更精彩。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值