Django第一个项目
新建django项目
命令行模式:
切换到该目录下,django-admin startproject 项目名
Pycharm新建:
NewProject=>Django=>选择解释器
启动项目
命令行模式下:
1.cd 到项目下
2.dir找manage.py
3.python3 manage.py runserver 127.0.0.1:8080
pycharm启动:
1.点击上面的绿色小三角
2.ctrl+C关闭
在djang项目中
css文件和js文件都不能被识别了,要通过settings文件的配置去找:
STATICFILES_DIRS=[(os.path.join(BASE_DIR),’static’),]
这时候html找静态文件就是根据别名去找:
css文件和js文件要放在static文件夹里
Urls文件是建对应关系,所有与请求相关的数据都在request参数里
Templates里专门放html文件
Settings文件是配置文件
出现forbidden(403)就去settings.py里面的的csrf相关的一行注释掉
基础必会
三件套:
from django.shortcuts import HttpResponse, render, redirect
- HttpResponse("响应体内容")
- render(request, "login.html",{“k”: "v"}) --> 打开一个文件,把文件的内容读取出来
- redirect("具体的网址") --> 回复一个让浏览器请求我指定网址的响应
Django如何获得form表单post过来的数据:
1. request.POST --> 所有数据的大字典
request.POST.get("pwd")
2. request.method --> 得到的是请求的方法(大写的) - GET/POST
App应用
-----project(学校)
-----------app(学院)
项目新建后就只能通过命令行创建app:(在命令行中,切换到该目录下,输入)
Python3 manage.py startapp app01
在settings还要自己加上自己写的app,添加到INSTALLED_APPS里
ORM对象关系映射
数据表----类
数据行----实例对象
字段------属性
代码操作数据库的方式:
直接执行sql
优点:执行效率高
缺点:开发效率低
按照特定语法写,翻译sql语句再执行
优点:开发效率低
缺点:执行效率低,会忘sql语句
注意:
Orm有很多地方是不可控的
任何语言都有orm类似的概念
Flask用的是sqlAlchemy
Django里面的ORM的使用:
Settings.py=>DATABASES
告诉django怎么连接
Django默认用的是MYSQLdb模块连接数据库
告诉django用pymysql模块连接数据库
在settings同目录下的__init__.py页面里
Import pymysql
pymysql.install_as_MYSQLdb()
在app01/models.py里定义类,一定要继承models.Model
from django.db import models class User(models.Model): id=models.AutoField(primary_key=True) name=models.CharField(max_length=16) password=models.CharField(max_length=20)
然后在命令行里写(注意先后顺序):
Python3 manage.py makemigrations ====》将models.py的修改登记到本上
Python3 manage.py migrate=====》将修改翻译成sql去执行
第二种方式(在pycharm中写):
makemigrations app01
连接数据库
view=>Toolbuttons(勾中)
点击database;
然后点击绿色+号,点击data sourse再选择mysql;