django学习记录
django是python用来做web服务器的一个框架 使用的是mvc?(模型,视图,控制)但是没有控制 mtv?(模型,模板,视图)这个更准确一点,里面的设计的确使用了模板
安装:
pip install django
首先我们来介绍django的基本命令:
startproject #创建一个项目
startapp #创建一个app,一个项目里面可以有多个app,一个app也可以在多个项目中
runserver #运行django服务器
shell #创建一个会话
test #测试用例
与数据库相关:
makemigrations #创建模型变更的迁移文件
migrate #执勤迁移文件
dumpdata #导出数据库数据
loaddata #把数据导入到数据库
首先使用命令创建一个项目
django-admin startproject aproject
文件夹中的 setting.py是配置文件 urls.py是导航文件
使用命令启动web服务
python manage.py runserver
使用命令在一个项目中创建一个blog app
python manage.py startapp blog
blog app的文件夹中的目录介绍:
views.py #视图处理的地方
models.py #模型定义的地方
Admin.py #定义admin模块管理的地方
app.py #生命应用的地方
test.py #编写应用测试用例的地方
urls.py #自己创建的管理路由的地方
在views.py中定义视图函数 配置路由以绑定url和视图函数
路由的配置需要在应用层次和项目层次两方面配置。
在应用层次的urls.py中配置;
from django.urls import path,include
import blog.views
urlpatterns =[
path("hello_world",blog.views.hello_world),
path("content",blog.views.article_content),
path('index',blog.views.get_index_page),
]
在项目层次urls.py配置路由:
from django.contrib import admin
from django.urls import path
from django.urls import include
urlpatterns = [
path('admin/', admin.site.urls),
path('blog/',include('blog.urls')),
]
最后要把blog这个应用添加到setting.py这个配置文件:
INSTALLED_APPS = [
'django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
#myapp
'blog.apps.BlogConfig',
]
至此一个app已经能够运行了 使用
python manage.py runserver
运行即可
下面讲解models.py 模型的定义和数据库的生成
其中setting.py里的DATABASE即是关于数据库的配置
在app中的models.py中定义模型:
from django.db import models
# Create your models here.
class Article(models.Model):
#文章ID
article_id = models.AutoField(primary_key=True)
#文章标题
title = models.TextField()
#文章摘要
brief_content = models.TextField()
#文章的主要内容
content = models.TextField()
#文章的发布日期
publish_date = models.DateField(auto_now=True)
def __str__(self):
return self.title
根据我们的模型,我们创建对应的数据库迁移文件:
python manage.py makemigrations
然后永兴我们创建的迁移文件:
python manage.py migrate
此时模型就创建完成了
下面是Admin.py 的使用
1. 创建管理员用户:
python manage.py createsuperuser
使用管理员账号就可以在***/Admin网页中进行管理了
如果要管理我们创建的Article模型,那么我们还需要将Article这个模型注册到Admin.py中
admin.py:
from django.contrib import admin
# Register your models here.
from .models import Article
admin.site.register(Article)
之后就是设计html和导航还有views就好。