Django电商项目---完成注册页面和用户登录day1

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

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

image

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

image

image

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

image

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

image

  1. 修改数据库

image

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

image

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

Python学习—Pycharm连接mysql服务器

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

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

image

  1. 手动进行pip安装
# 进入python3的安装目录的Scripts目录
# 我的是: E:PyCharm 2017.2.4Python3.2.5Scripts
pip3 install mysqlclient-1.4.2-cp35-cp35m-win_amd64.whl

image

  • 修改路由配置manas/urls.py

image

  • 添加df_user/urls.py文件

image

  • 配置df_user/urls.py文件(需要导入df_user/views.py)

image

  • 配置df_user/views.py

image

  • 复制df_user模板到templates/df_user目录

image

   (可选--实际中可以直接复制文件,项目中学习Django的HTML模板化操作)

image

     (可选--实际中可以直接复制文件,实际的HTML中以变量的形式传递参数过去的)

image

  • 创建模板类df_user/models.py

image

完成表的创建

python manage.py makemigrations     # 生产一个py文件
python manage.py migrate            # 创建表空间
 

image

  • 启动项目

python manage.py runserver 9999

  • 界面显示

http://127.0.0.1:9999/user/login/

image

注册成功后跳转登录界面:

image

  • 记录问题:

问题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

image

原因定位: 子App的urls.py里面也有一个admin的路由信息,删除即可

image

问题2: 误删除migrations目录后,无法初始化数据库

重新创建一个python目录,命名为migrations目录后,重新命令执行

python manage.py makemigrations     # 生产一个py文件
python manage.py migrate            # 创建表空间
 
 

其他操作(命令操作)

创建Django的App

python manage.py startapp df_user

image

添加新App到Django(修改setting.py)

image

创建表完成

python manage.py makemigrations     # 生产一个py文件
python manage.py migrate            # 创建表空间
 

image

模板语言

# 继承某个模板
{% 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:", "

原文地址:https://www.cnblogs.com/ftl1012/p/10381034.html