学习django首先要做的 就是进行配置文件的信息制作
django-admin startproject 文件名
进入setting 将
ALLOWED_HOSTS=['*']
所有用户都可以访问
LANGUAGE_CODE='zh-Hans'
更改语言编码为中国
TIME_ZONE='Asia/shanghai'
更改时区为亚洲/上海
python manage.py startapp 子文件名创建子app
在views 写你需要的函数
导包 from django.httpimportHttpResponse
defindex(request):
returnHttpResponse('hello')
回到原来的项目中的urls.py
在最下面内导包和导入你的路由
From 你的子文件名 import views
在urlpatterns中添加
path('',views.index)
例子:urlpatterns=[
path('admin/',admin.site.urls),
path('',views.index),
]
在setting中找到TEMPLATES
在DIRS后面填写
[os.path.join(BASE_DIR,'templates')],
在这的最上面BASE_DIR的意思是找到当前项目的工作路径
跟项目同级创建templates文件夹
内创建子网页文件夹 然后加html
回到子项目 view
导包from django.shortcuts import render
def index(request):
return render(request,'hello_app/index.html')
返回参数,还有html ,重新运行
导入静态资源让你的网页花里胡哨
Css js img video?。。。
在setting文件最下面书写
STATICFILES_DIRS=(
os.path.join(BASE_DIR,'static'),
)
在项目同级创建ststic文件夹
10)在网页中要让当前路径知道你在哪里
在html文件上方 {% load static %}
若要加图片则在HTML中
<imgsrc="{%static'img/1.png'%}"alt="">
11)模板变量加成
动态的小老弟
在view文件中
def index(request):
title = ‘嗯’
centent = ‘啊’
return render(request,'hello_app/index.html', locals())
也可以
return render(request,'hello_app/index.html',
'title':'嗯')
然后再网页中{{ title }} {{ centent }}
12)数据库应该了解下了
在setting下INSTALLED_APPS中
把你的子项目名称加进去
将django自带的数据表创建出来
Python manage.py migrate
根据数据表差异文件执行真正的sql创建表
打开app中的models文件
导包 from django.db import models
ps:django中orm:一个类代表一张表类中的一个属性代表表中的一个字段
一条数据其实就是一个模型类的实例对象
Class xx(models.Model):
不用设置id字段,自动生成
name=models.CharField(max_length=25)
CharField = 字符串类型
max_length = 最大长度
def__str__(self):
Return self.name
后台管理展示你要展示的东西/名字
只能 处理字符串,需要强转
Python manage.py makemigrations
查找差异创建迁移文件
Python manage.py migrate
根据迁移文件生成数据表及字段
13) django 自带admin界面
ps:小 小 小。。。海豚?
在子app中打开admin.py
导包
From django.contrib import admin
From .import models
admin.site.register(models.表)
把表跟admin页面连接起来
一种表与工具的连接把
#注册模型类到admin界面
但是你得先注册
python manage.py createsuperuser
邮箱可以不输入
root
Lhr970901
14) 查
Views,py中 导包
From .import models
然后
Models.people.objects
People:模型类,
objects:模型类管理器‘
15)前端数据接收了
1.先在views.py中添加路由
Def
其中
If request.method=='POST':
name=request.post.get('name')
这么取网页中的值
Return redirect('/') #这个邪杠必须写,重定向到页面
会被csrf阻挡 所以在表单中添加{% csrf_token %}
美化:
在输入框中有问题保留原有值,首先在views.py中返回
Return render(request,'hello_app/index.html',locals())
然后在对应的html中表单对话框input中添加value{{ 啥 }}
2.在urls,中添加path
path('index/',views.get_msg)