完成基本的创建项目、用户注册、登录、注销功能

  • 创建Django项目,创建df_user的App

  • 创建静态文件夹static(跟manage.py保持在同一级别下)

  • 复制静态文件(css + images+ js)到static路径下

  • 修改settings.py文件
  1. 修改templates路径

  1. 修改数据库

  1. 新添加静态文件加载路径

  • Pycharm连接mysql数据库以及完成mysql数据库初始化

Python学习—Pycharm连接mysql服务器

  • 安装Python下的MysqlClient
  1. 点击下载文件(图片适用于Py3.5_64位.3)

(可选)其他学习参考:点击参考

  1. 手动进行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的更多相关文章

  1. Django电商项目---完成订单页面day5

    完成订单页面 创建订单项目 python manage.py startapp df_order manas/settings.py manas/urls.py 创建静态文件: templates/d ...

  2. Django电商项目---完成购物车页面day4

    创建购物车项目App python manage.py startapp df_cart 初始化项目: manas/urls.py manas/settings.py 创建新文件:df_cart/ur ...

  3. Django电商项目---完成商品主页显示day2

    利用DjangoAdmin初始化数据库 创建项目 python manage.py startapp df_goods 添加配置 manas/urls.py manas/settings.py 新创建 ...

  4. Django电商项目---完成用户中心(订单中心+收货地址)day7

    完成用户中心(收货地址) df_user/views.py df_user/urls.py templates/df_user/user_center_site.html 界面显示 完成用户中心(全部 ...

  5. Django电商项目---完成登录验证和用户中心(个人信息)day3

    登录验证的实现 背景说明: 用户在商品界面选择商品后,在点击购物车或者结算订单之前 需要完成用户的登录验证,这里用装饰器来完成   创建装饰器类: df_user/user_decorator.py ...

  6. Python Django(WEB电商项目构建)

    (坚持每一天,就是成功) Python Django Web框架,Django是一个开放源代码的Web应用框架,由Python写成.采用了MTV的框架模式,即模型M,模板T和视图V组成. 安装Pyth ...

  7. web前端Vue+Django rest framework 框架 生鲜电商项目实战视频教程 ☝☝☝

    web前端Vue+Django rest framework 框架 生鲜电商项目实战视频教程    web前端Vue+Django rest framework 框架 生鲜电商项目实战视频教程 学习 ...

  8. Spark大型电商项目实战-及其改良之番外(1)-将spark前端页面效果高效拷贝至博客

    Spark大型电商项目实战-及其改良这个系列的时间轴展示图一直在变....1-3篇是用图直接表示时间轴,用一段简陋的html代码表示时间表.第4篇开始才是用比较完整的前端效果,能移动.缩放时间轴,鼠标 ...

  9. web前端Vue+Django rest framework 框架 生鲜电商项目实战✍✍✍

    web前端Vue+Django rest framework 框架 生鲜电商项目实战  整个课程都看完了,这个课程的分享可以往下看,下面有链接,之前做java开发也做了一些年头,也分享下自己看这个视频 ...

随机推荐

  1. .NET Core跨平台微服务学习资源

    一.Asp.net Core基础 微软英文官网:https://docs.microsoft.com/en-us/aspnet/core/?view=aspnetcore-2.1 .NET Core: ...

  2. tls1.2 rfc5246

    注:本文省略了部分开发协议才涉及到的内容,如字段类型的定义以及字段长度的运算,主要聚焦理解tls协议的运作方式,用于问题定位 tls协议包含2层协议:TLS Record 协议和TLS Handsha ...

  3. JavaWeb学习 (十五)————JSP指令

    一.JSP指令简介 JSP指令(directive)是为JSP引擎而设计的,它们并不直接产生任何可见输出,而只是告诉引擎如何处理JSP页面中的其余部分. 在JSP 2.0规范中共定义了三个指令: pa ...

  4. HashMap源码解读(JDK1.7)

    哈希表(hash table)也叫散列表,是一种非常重要的数据结构,应用场景及其丰富,许多缓存技术(比如memcached)的核心其实就是在内存中维护一张大的哈希表,而HashMap的实现原理也常常出 ...

  5. /proc文件系统(一):cpuinfo

    0. 前言 /proc 文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间. 它以文件系统的方式为内核与进程提供通信的接口.用户和应用程序可以通过/proc得到系统的信息,并可以改变内核的某 ...

  6. [转]Angular2 Material2 封装组件 —— confirmDialog确定框

    本文转自:https://www.jianshu.com/p/0c566fc1730d 环境: Angular 4.0.0 Angular2 Material2 2.0.0-beta.3 node v ...

  7. ASP .NET MVC HtmlHelper扩展——简化“列表控件”的绑定

    在众多表单元素中,有一类<select>元素用于绑定一组预定义列表.传统的ASP.NET Web Form中,它对应着一组重要的控件类型,即ListControl,我们经常用到DropDo ...

  8. 菜鸟入门【ASP.NET Core】13:Individual authentication 模板、EF Core Migration

    Individual authentication 模板 我们首先用VSCode新建一个mvc的网站,这个网站创立的时候回自动为我们创建Identuty Core以及EF Core的代码示例,我们可以 ...

  9. java.. C# 使用AES加密互解 采用AES-128-ECB加密模式

    java需要下载外部包, commons codec.jar 1.6  較新的JAVA版本把Base64的方法改成靜態方法,可能會寫成Base64.encodeToString(encrypted, ...

  10. jquery中innerwidth,outerwidth,outerwidth和width的区别

    在jQuery中,width()方法用于获得元素宽度: innerWidth()方法用于获得包括内边界(padding)的元素宽度, outerWidth()方法用于获得包括内边界(padding)和 ...