Django电商项目---完成注册页面和用户登录day1
完成基本的创建项目、用户注册、登录、注销功能
- 创建Django项目,创建df_user的App
- 创建静态文件夹static(跟manage.py保持在同一级别下)
- 复制静态文件(css + images+ js)到static路径下
- 修改settings.py文件
- 修改templates路径
- 修改数据库
- 新添加静态文件加载路径
- Pycharm连接mysql数据库以及完成mysql数据库初始化
- 安装Python下的MysqlClient
- 点击下载文件(图片适用于Py3.5_64位.3)
(可选)其他学习参考:点击参考
- 手动进行pip安装
# 进入python3的安装目录的Scripts目录 # 我的是: E:\PyCharm 2017.2.4\Python3.2.5\Scripts pip3 install mysqlclient-1.4.2-cp35-cp35m-win_amd64.whl
- 修改路由配置manas/urls.py
- 添加df_user/urls.py文件
- 配置df_user/urls.py文件(需要导入df_user/views.py)
- 配置df_user/views.py
- 复制df_user模板到templates/df_user目录
(可选--实际中可以直接复制文件,项目中学习Django的HTML模板化操作)
(可选--实际中可以直接复制文件,实际的HTML中以变量的形式传递参数过去的)
- 创建模板类df_user/models.py
完成表的创建
python manage.py makemigrations # 生产一个py文件
python manage.py migrate # 创建表空间
- 启动项目
python manage.py runserver 9999
- 界面显示
http://127.0.0.1:9999/user/login/
注册成功后跳转登录界面:
- 记录问题:
问题1:执行命令报错: python manage.py makemigrations
WARNINGS:
?: (urls.W005) URL namespace 'admin' isn't unique. You may not be able to reverse all URLs in this namespace
No changes detected
原因定位: 子App的urls.py里面也有一个admin的路由信息,删除即可
问题2: 误删除migrations目录后,无法初始化数据库
重新创建一个python目录,命名为migrations目录后,重新命令执行
python manage.py makemigrations # 生产一个py文件
python manage.py migrate # 创建表空间
其他操作(命令操作)
创建Django的App
python manage.py startapp df_user
添加新App到Django(修改setting.py)
创建表完成
python manage.py makemigrations # 生产一个py文件
python manage.py migrate # 创建表空间
模板语言
# 继承某个模板 {% extends 'df_user/base_foot.html' %} # 模板占位 {% block body%} XXXX {% endblock body%} # 引用变量 {{ title }} # 取消csrf验证{% csrf_token %}# if判断 {% if request.session.user_name|default:'' != '' %} <div class="login_btn fl"> <a>欢迎您:</a> <a>{{request.session.user_name}}</a> <span>|</span> <a href="/user/logout/">注销</a> </div> {% else %} <div class="login_btn fl"> <a href="/user/login/">登录</a> <span>|</span> <a href="/user/register/">注册</a> </div> {% endif %} # for循环 {% for goods in goods_list %} <li> <a href="/{{goods.id}}/"><img src="/upload/{{goods.gpic}}/"></a> <h4><a href="/{{goods.id}}/">{{goods.gtitle}}</a></h4> <div class="operate"> <span class="prize">{{goods.gprice}}</span> <span class="unit">{{goods.gprice}}/{{goods.gunit}}</span> <a href="#" class="add_goods" title="加入购物车"></a> </div> </li> {% endfor %} # 过滤器 value|default:"什么也没有" value|date:'Y-m-d' list|join:", "
作者:小a玖拾柒
-------------------------------------------
个性签名: 所有的事情到最後都是好的,如果不好,那說明事情還沒有到最後~
本文版权归作者【小a玖拾柒】和【博客园】共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利!