创建app应用
app是什么?
用过IDEA的都知道,它创建好项目一个项目,在里面是不能再创建项目的,而只能创建我们的模块,所以就是一个项目底下有多个模块,而Django里面的app就相当于模块一样,一个Django项目底下有多个app,而它的功能就像java中的实体类,它一个app就代表了这个实体类的所有功能
它每个文件的意思在思维导图上都写的很清楚了
我们对文件的操作都是在这里执行
项目的目录
创建app:django-admin startapp 应用名称
urls.py和templates(模板)是需要自己创建的,我们先在app中配置它的路由,在把这个路由配置进我们的主路由中
在templates中新建一个index.html页面
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Django入门</title>
</head>
<body>
<h1>hello,欢迎使用Django</h1>
</body>
</html>
在views中写你的方法
from django.shortcuts import render
# Create your views here.
from django.http import HttpResponse
# 给网页返回一个字符串
def hello(request):
return HttpResponse("hello Django")
# 返回一个页面
def index(request):
return render(request, "index.html")
然后在自己app的urls中配置好
from django.contrib import admin
from django.urls import path
from . import views
urlpatterns = [
path("admin/", admin.site.urls),
path('hello', views.hello),
path("index", views.index)
]
然后去主路由配置urls
from django.contrib import admin
from django.urls import path,include
from student import views
urlpatterns = [
path('admin/', admin.site.urls),
# 两种导入方式
# 注解导入真个模块,以后就不需要导入了
path("student/",include("student.urls")),
# 一个方法一个方法的导入
# path("hello",views.hello())
]
你如果要访问你app的页面获取需要创建模型,都需要在settings.py文件中把你的app配置进去
我们启动项目python manage.py runserver
然后就能访问了
使用admin模块
admin模块是Django非常强大的一个模块,它自动帮我们写好了一个app应用的增删改查,页面都不需要我们写,我们配置好就能直接使用
我们可以从配置文件settings中看出默认的数据库是sqlite3,我们切换数据也就是更改这里的配置
然后我们创建它的model,相当于java中的实体类,设置它的属性
models.py
from django.db import models
# Create your models here.
class Student(models.Model):
id = models.AutoField(primary_key=True)
name = models.TextField()
age = models.IntegerField()
def __str__(self):
return self.name
python manage.py makemigrations 创建迁移文件
python manage.py migrate 建表
然后再Terminal依次执行命令,就会你的sqlite数据库中生成对应的表,我用Navicat Premium打开了sqlite文件,student就是我们对应的表,其他的表就是我们admin模块需要的表了
然后我们设置admin的用户名和密码
创建管理员:python manage.py createsuperuser,执行完后输入用户名密码
然后我们在admin.py中把student应用交给admin管理
from django.contrib import admin
# Register your models here.
from student.models import Student
admin.site.register(Student)
如果项目已经启动就不需要启动app了,直接访问
在浏览器输入127.0.0.1:8080/admin访问页面,然后登录
默认是因为的,要改成中文需要更改配置文件settings
找到配置文件里面的编码方式,改成图上这样就是中文了
LANGUAGE_CODE = 'zh-hans'
TIME_ZONE = 'Asia/Shanghai'
我们登录进去看,可以看到外面刚刚那个app的增删改查全部都能用
end…