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:", "
Django电商项目---完成注册页面和用户登录day1的更多相关文章
- Django电商项目---完成订单页面day5
完成订单页面 创建订单项目 python manage.py startapp df_order manas/settings.py manas/urls.py 创建静态文件: templates/d ...
- Django电商项目---完成购物车页面day4
创建购物车项目App python manage.py startapp df_cart 初始化项目: manas/urls.py manas/settings.py 创建新文件:df_cart/ur ...
- Django电商项目---完成商品主页显示day2
利用DjangoAdmin初始化数据库 创建项目 python manage.py startapp df_goods 添加配置 manas/urls.py manas/settings.py 新创建 ...
- Django电商项目---完成用户中心(订单中心+收货地址)day7
完成用户中心(收货地址) df_user/views.py df_user/urls.py templates/df_user/user_center_site.html 界面显示 完成用户中心(全部 ...
- Django电商项目---完成登录验证和用户中心(个人信息)day3
登录验证的实现 背景说明: 用户在商品界面选择商品后,在点击购物车或者结算订单之前 需要完成用户的登录验证,这里用装饰器来完成 创建装饰器类: df_user/user_decorator.py ...
- Python Django(WEB电商项目构建)
(坚持每一天,就是成功) Python Django Web框架,Django是一个开放源代码的Web应用框架,由Python写成.采用了MTV的框架模式,即模型M,模板T和视图V组成. 安装Pyth ...
- web前端Vue+Django rest framework 框架 生鲜电商项目实战视频教程 ☝☝☝
web前端Vue+Django rest framework 框架 生鲜电商项目实战视频教程 web前端Vue+Django rest framework 框架 生鲜电商项目实战视频教程 学习 ...
- Spark大型电商项目实战-及其改良之番外(1)-将spark前端页面效果高效拷贝至博客
Spark大型电商项目实战-及其改良这个系列的时间轴展示图一直在变....1-3篇是用图直接表示时间轴,用一段简陋的html代码表示时间表.第4篇开始才是用比较完整的前端效果,能移动.缩放时间轴,鼠标 ...
- web前端Vue+Django rest framework 框架 生鲜电商项目实战✍✍✍
web前端Vue+Django rest framework 框架 生鲜电商项目实战 整个课程都看完了,这个课程的分享可以往下看,下面有链接,之前做java开发也做了一些年头,也分享下自己看这个视频 ...
随机推荐
- .NET Core跨平台微服务学习资源
一.Asp.net Core基础 微软英文官网:https://docs.microsoft.com/en-us/aspnet/core/?view=aspnetcore-2.1 .NET Core: ...
- tls1.2 rfc5246
注:本文省略了部分开发协议才涉及到的内容,如字段类型的定义以及字段长度的运算,主要聚焦理解tls协议的运作方式,用于问题定位 tls协议包含2层协议:TLS Record 协议和TLS Handsha ...
- JavaWeb学习 (十五)————JSP指令
一.JSP指令简介 JSP指令(directive)是为JSP引擎而设计的,它们并不直接产生任何可见输出,而只是告诉引擎如何处理JSP页面中的其余部分. 在JSP 2.0规范中共定义了三个指令: pa ...
- HashMap源码解读(JDK1.7)
哈希表(hash table)也叫散列表,是一种非常重要的数据结构,应用场景及其丰富,许多缓存技术(比如memcached)的核心其实就是在内存中维护一张大的哈希表,而HashMap的实现原理也常常出 ...
- /proc文件系统(一):cpuinfo
0. 前言 /proc 文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间. 它以文件系统的方式为内核与进程提供通信的接口.用户和应用程序可以通过/proc得到系统的信息,并可以改变内核的某 ...
- [转]Angular2 Material2 封装组件 —— confirmDialog确定框
本文转自:https://www.jianshu.com/p/0c566fc1730d 环境: Angular 4.0.0 Angular2 Material2 2.0.0-beta.3 node v ...
- ASP .NET MVC HtmlHelper扩展——简化“列表控件”的绑定
在众多表单元素中,有一类<select>元素用于绑定一组预定义列表.传统的ASP.NET Web Form中,它对应着一组重要的控件类型,即ListControl,我们经常用到DropDo ...
- 菜鸟入门【ASP.NET Core】13:Individual authentication 模板、EF Core Migration
Individual authentication 模板 我们首先用VSCode新建一个mvc的网站,这个网站创立的时候回自动为我们创建Identuty Core以及EF Core的代码示例,我们可以 ...
- java.. C# 使用AES加密互解 采用AES-128-ECB加密模式
java需要下载外部包, commons codec.jar 1.6 較新的JAVA版本把Base64的方法改成靜態方法,可能會寫成Base64.encodeToString(encrypted, ...
- jquery中innerwidth,outerwidth,outerwidth和width的区别
在jQuery中,width()方法用于获得元素宽度: innerWidth()方法用于获得包括内边界(padding)的元素宽度, outerWidth()方法用于获得包括内边界(padding)和 ...