Django 环境的搭建

Django 安装
pip install django==2.1.4
Django 创建项目
django-admin startproject mysite
Django 创建应用
python manage.py startapp myapp
Django 启动项目
python manage.py runserver IP:PORT
Django 数据迁移
python manage.py makemigrations
python manage.py migrate

通过Pycharm 创建Django项目

怎么再Django中创建HTML,以及怎样指定它的路由关系

①判断项目是否指定了模板所在的位置
  • 首先打开项目所在位置的setting.py 文件,找到它的template哪一项,看它DIR是否有指定模板的位置,如果没有指定,就通过os.path.join(BASE_DIR, 'templates')人为指定。
  • 在做表单提交的是否如果遇到了 forbidden 错误,建议注释掉MIDDLEWARE中的'django.middleware.csrf.CsrfViewMiddleware',或者在提交数据的术后加上 {% csrf_token %}
②在template目录下新建HTML文件
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
</head>
<body>
<div class="panel panel-default">
<div class="panel-heading">面板头</div>
<div class="panel-body">面板主题</div>
</div>
</body>
</html>
③在应用所对应views.py文件中添加相应的模板函数
from django.shortcuts import render

def test(request):
return render(request, "my-test.html")
④修改项目下面的urls.py 文件
from django.contrib import admin
from django.urls import path
from video import views urlpatterns = [
path('admin/', admin.site.urls),
path('my-test/', views.test),
]

引入之前准备的静态文件

STATICFILES_DIRS = [
os.path.join(BASE_DIR, "static")
]

调整项目中的路由对应关系,页面中的跳转

使用 {%%},里面可以指定逻辑代码

{% csrf_token %}

使用 {{}},里面只能是变量

{{ person }}

母版的使用

理解:通过建立一个挖过坑的HTML来实现模板继承

例子:

  • 建立一个 母版文件的 HTML
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
* {
margin: 0;
padding: 0;
} .header {
width: 100%;
height: 90px;
background-color: #65ccff;
}
</style>
</head>
<body>
<div class="header"></div>
{% block content %} {% endblock %}
</body>
</html>
  • 其他HTML继承这个母版HTML
{% extends 'base.html' %}
{% block content %}
<p>GetcharZp Index</p>
{% endblock %}

数据库配置

  • 修改 setting.py 文件
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'NAME': '数据库名称',
'USER': '用户名',
'PASSWORD': '密码',
'HOST': '127.0.0.1',
'PORT': '3306',
}
}
  • 修改在与 setting.py 同级的目录下的 _ init_.py 文件
import pymysql

pymysql.install_as_MySQLdb()

数据库的设计

  • 表的设计,应用下面的 models.py 文件
from django.db import models

class User(models.Model):
username = models.CharField(max_length=32)
password = models.CharField(max_length=32)
email = models.CharField(max_length=32)
create_time = models.IntegerField() class Cate(models.Model):
cid = models.AutoField(primary_key=True)
pid = models.IntegerField()
cate_name = models.CharField(max_length=32) class Position(models.Model):
name = models.CharField(max_length=32)
cid = models.IntegerField(max_length=10)
salary = models.CharField(max_length=32)
address = models.CharField(max_length=32)
duty = models.CharField(max_length=500)
condition = models.CharField(max_length=500)
create_time = models.IntegerField()
  • 数据库的迁移
python manage.py makemigrations  # 包的创建

python manage.py migrate		# 数据同步到数据库中

用户登录注册

  • session数据的保存
request.session['username'] = username
  • 前端如何检测是否有 session数据
{% if request.session.username %}
  • 获取前端提交过来的数据
request.POST.get('username')
request.POST.get('password')
  • 数据的查询
User.objects.filter(username=username, password=password)
  • 数据的插入
User.objects.create(username=username, password=password, create_time=time.time())
  • 数据的更新
User.objects.fileter(id=1).update(username=Getchar)
  • 数据删除
User.objects.fileter(id=1).delete()

Django 项目笔记的更多相关文章

  1. Django项目笔记:sessions处理以及复杂对象序列化

    前言:一点题外话 我发现,不更新博客的时候,不是非常忙,就是效率非常低.最近没怎么更新博客,原因是第二种= =.惭愧惭愧. 今天效率出奇的高,一天时间把PassNote后端的接口全部写完了,Djang ...

  2. Django商城项目笔记No.12用户部分-QQ登录2获取QQ用户openid

    Django商城项目笔记No.12用户部分-QQ登录2获取QQ用户openid 上一步获取QQ登录网址之后,测试登录之后本该跳转到这个界面 但是报错了: 新建oauth_callback.html & ...

  3. Django商城项目笔记No.11用户部分-QQ登录1获取QQ登录网址

    Django商城项目笔记No.11用户部分-QQ登录 QQ登录,亦即我们所说的第三方登录,是指用户可以不在本项目中输入密码,而直接通过第三方的验证,成功登录本项目. 若想实现QQ登录,需要成为QQ互联 ...

  4. Django商城项目笔记No.10用户部分-登录接口

    Django商城项目笔记No.10用户部分-登录接口 添加url路由 接下来第二步,增加返回内容: 增加结果如下: 配置:上边的方法定义了返回的内容都有哪些,那这个方法jwt还不知道,需要配置: 修改 ...

  5. Django商城项目笔记No.9用户部分-注册接口签发JWTtoken

    Django商城项目笔记No.9用户部分-注册接口签发JWTtoken 我们在验证完用户的身份后(检验用户名和密码),需要向用户签发JWT,在需要用到用户身份信息的时候,还需核验用户的JWT. 关于签 ...

  6. Django商城项目笔记No.8用户部分-注册接口实现

    Django商城项目笔记No.8用户部分-注册接口实现 users的view.py中增加如下代码 class RegisterUserView(CreateAPIView): "" ...

  7. Django商城项目笔记No.7用户部分-注册接口-判断用户名和手机号是否存在

    Django商城项目笔记No.7用户部分-注册接口-判断用户名和手机号是否存在 判断用户名是否存在 后端视图代码实现,在users/view.py里编写如下代码 class UsernameCount ...

  8. Django商城项目笔记No.6用户部分-注册接口-短信验证码实现celery异步

    Django商城项目笔记No.4用户部分-注册接口-短信验证码实现celery异步 接上一篇,如何解决前后端请求跨域问题? 首先想一下,为什么图片验证码请求的也是后端的api.meiduo.site: ...

  9. Django商城项目笔记No.5用户部分-注册接口-短信验证码

    Django商城项目笔记No.4用户部分-注册接口-短信验证码 短信验证码也保存在redis里(sms_code_15101234567) 在views中新增SMSCodeView类视图,并且写出步骤 ...

随机推荐

  1. JavaScript函数总结—越努力,越幸运!

    JavaScript 函数总结 JavaScript为web的编程脚本语言. JavaScript由三部分组成:emc(语法) dom(文档对象模型) bom(浏览器对象模型). [函数的定义] 1. ...

  2. [NOIp2014] luogu P1351 联合权值

    哎我博 4 了. 题目描述 无向连通图 GGG 有 nnn 个点,n−1n−1n−1 条边.点从 111 到 nnn 依次编号,编号为 iii 的点的权值为 WiW_iWi​,每条边的长度均为 111 ...

  3. SpringBoot2.x--入门篇--01--HelloWorld

    很多人说,学习springboot至少需要spring基础,servlet基础等等,笔者不敢苟同.凡是有一定java基础的人,都可以直接学习springboot,当学到原理和源码时,通过查缺补漏的方式 ...

  4. Ubuntu中用户名密码和root密码修改

    用户名密码和root密码不是同一个密码 重置(修改)root密码 ubuntu的root初始密码是随机的,每次开机都有一个新的root密码修改方法如下: 1.sudo passwd root 2.此处 ...

  5. 自定义的Spring Boot starter如何设置自动配置注解

    本文首发于个人网站: 在Spring Boot实战之定制自己的starter一文最后提到,触发Spring Boot的配置过程有两种方法: spring.factories:由Spring Boot触 ...

  6. Java IO_002.InputStream与OutputStream--字节流对数据的操作(读取与写入)

    Java IO之FileInputStream与FileOutputStream对象常用操作 涉及到文件(非文件夹)内容的操作,除了要用到File(见之前文章),另外就必须用到输入流或输出流. 输入流 ...

  7. 包管理-rpm

    rpm包管理 程序源代码---->预处理---->编译---->汇编---->链接          数据处理  转为汇编代码  进行汇编    引入库文件    静态编译:. ...

  8. ESP8266 打造一款物联网产品---搭建环境编译及烧录

    一 前记 作为一个在wifi领域耕耘了多年的人,以前一直在外企和大公司做芯片,没有怎么使用过国内的芯片公司做出来的芯片.最近正好有一个项目需要用到一款低成本的wifi芯片,找来找去,发现乐鑫的最适合. ...

  9. 设计模式(九)Bridge模式

    Bridge模式就是将类的功能层次结构和类的实现层次结构连接起来. 类的功能层次结构就是根据实际非抽象类来说的,也就是父类具有基本功能,然后在子类中增加新功能.用于增加新功能. 类的实现层次结构就是根 ...

  10. TCP Socket服务端客户端(二)

    本文服务端客户端封装代码转自https://blog.csdn.net/zhujunxxxxx/article/details/44258719,并作了简单的修改. 1)服务端 此类主要处理服务端相关 ...