Django基础

Django基础

Table of Contents

一、虚拟环境

1、建立虚拟环境

 python -m venv xxcdu

2、激活虚拟环境 windows:

xxcdu/Scripts/activate

linux:

source xxcdu/bin/activate

3、停止使用虚拟环境:

deactive

二、Django创建项目

1、创建项目:
Django-admin startproject learning_log .

​ learning_log目录下的文件:urls.py:创建哪些页面来响应请求,wsgi.py(web服务器网关接口)帮助Django提供他创建的文件

2、创建数据库:
python manage.py migrate
3、启动server:
python manage.py runserver

(若指定端口被占用,执行python manage.py runserver 8001(换端口))

4、创建、激活程序:
(1)创建应用程序·
python manage.py startapp learning_logs

​ learning_logs目录下文件:admin.py apps.py migrations models.py:定义模型 tests.py views.py

(2)在models.py中定义模型;
(3)在learning_log/settings中添加程序“learning_logs”(添加到默认应用程序上方)
(4)让Django修改数据库以存储新模型相关信息:
python manage.py makemigrations learning_logs
(5)迁移数据库 :
 python manage.py migrate
(6) 修改网站管理数据三个步骤:修改models.py; 对learning_logs调用makemigrations; 让Django迁移数据库。
5、Django管理网站:

​ 创建超级用户:

python manage.py createsuperuser
6、向管理网站注册模型:
	from .models import Topic
	admin .site.register(Topic)
7、通过外键将条目与主题关联:(Entry指条目,Topic指主题,on_delete = models.CASCAD指绑定的二者级联删除)
	class Entry(models.Model):
		topic = models.ForeignKey(Topic, on_delete = models.CASCAD)
8、
Django shell:python manage.py shell

​ .all()函数获取该模型所有实例:topics = Topic.objects.all( ) 返回一个查询集的列表。

9、Django创建页面:定义URL、编写视图、编写模版。

​ 定义URL将浏览器请求与URL匹配,每个URL被映射到特定视图,视图函数通过模版来渲染页面。

(1)映射URL:

​ 1、在learning_log目录下的urls.py中添加整个项目中应用程序的URL。 ​ 2、添加模块admin.site.urls,定义可在管理网站请求的所有URL :

path('admin/', admin.site.urls)

​ 3、添加应用learning_logs的URL:

path('', include('learning_logs.urls'))

​ 4、在应用learning_logs 中添加urls.py,添加应用中文件的path:

path(' ' , views.index, name='index')#该对象看作一个URL模式

​ path( )函数三个参数:第一个参数是字符串path(’ ‘在本地即https://localhost:8000/);第二个参数指定要调用views.py中的哪一个函数,此处是views.py中的index;第三个是为该URL指定名称“index”便于引用。

(2)编写视图:

​ 在应用learning_logs中的views.py编写index函数,在index函数中调用render函数使用模版渲染。 ​ def index(request):#request为Django从服务器接收到的request对象 ​ return render(request, ’learning_logs/index.html’)

(3)编写模版:

​ 编写learning_logs/index.html ​ 1、编写父模版base.html,与index.html置于同一目录下:通过“[a href="[% url ’learning_logs:index’ %]"]learning log[/a]”,由于名为index的URL模式定义在urls.py中,可确保链接是最新的编写父模块块标签“ 【% block content %】【% endblock content %】”(content为模块名) ​ 2、编写子模块index.html:首句必须包括”【% extends “learning_logs/base.html” %】”以指定继承于哪个父模块。编写子模块块标签。

(4)显示Topics中特定主题topic的详细页面,URL模式:

​ path(’topics/【int:topic_id】/’, vies.topic, name = ’topic’) ,(例如http://localhost:8000/topicd/1)编写视图函数、模版(‘{’与’<‘符号用’【‘代替)

10、Django5.0之后使用内置logout无法用get方法,只能使用post方法,否则返回405.
comments powered by Disqus

Related Posts

nginx基础

nginx基础

[TOC] 一、启动nginx systemctl start nginx systemctl restart nginx #修改配置文件后重启 ps -ef | grep nginx #查看nginx进程 sudo systemctl status nginx #查看nginx状态 ​

Read More
docker常用命令

docker常用命令

原文链接:https://blog.csdn.net/Python_0011/article/details/140313812 原文链接:https://blog.csdn.net/Python_paipai/article/details/144389754 [TOC] 1、Docker运行 要在Docker中运行容器,可以使用以下命令: docker run [OPTIONS] IMAGE [COMMAND] [ARG.

Read More