Skip to content

Commit d88167f

Browse files
committed
更新md
更新md
1 parent a923c13 commit d88167f

11 files changed

Lines changed: 185 additions & 0 deletions

File tree

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,3 +7,4 @@
77
|[Python爬虫](./spiders/main.md)|python爬虫基础库requests,beautifulsoup,xpath,selenium,代理池,部分网站爬虫等......|
88
|[TCP/IP与HTTP协议](./network_protocol/main.md)|网络基础知识,tcp/ip协议与http协议等......|
99
|[LeetCode-数组](./leetcode_array/main.md)|leetcode数组类算法刷题。|
10+
|[Django学习](./django_note/main.md)|Django学习笔记。|

django_note/django_code/mysite/.idea/.gitignore

Lines changed: 3 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

django_note/django_code/mysite/.idea/inspectionProfiles/Project_Default.xml

Lines changed: 27 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

django_note/django_code/mysite/.idea/inspectionProfiles/profiles_settings.xml

Lines changed: 6 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

django_note/django_code/mysite/.idea/misc.xml

Lines changed: 4 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

django_note/django_code/mysite/.idea/modules.xml

Lines changed: 8 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

django_note/django_code/mysite/.idea/mysite.iml

Lines changed: 12 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

django_note/django_code/mysite/.idea/vcs.xml

Lines changed: 6 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

django_note/main.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
## Django学习笔记
2+
1. [Django入门-编写一个投票web站点](编写一个投票web站点.md)
Lines changed: 116 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,116 @@
1+
### 1.创建项目
2+
```python
3+
django-admin startproject mysite
4+
```
5+
#### 项目目录结构
6+
```python
7+
mysite/
8+
manage.py
9+
mysite/
10+
__init__.py
11+
settings.py
12+
urls.py
13+
asgi.py
14+
wsgi.py
15+
```
16+
* 最外层的mysite/:根目录名称,根目录名称对Django没有影响,你可以将它重命名为任何名称。
17+
* manage.py:Django项目的命令行管理工具。
18+
* 内层mysite/:纯python包,包含你的项目。
19+
* mysite/settings.py:Django项目的配置文件。
20+
* mysite/urls.py:Django 项目的URL声明,就像你网站的“目录”。
21+
* mysite/asgi.py:项目运行在ASGI兼容的Web服务器上的入口。
22+
* mysite/wsgi.py:项目运行在WSGI兼容的Web服务器上的入口。
23+
24+
### 2.启动用于开发的简易服务器
25+
```python
26+
python manage.py runserver
27+
```
28+
运行结果
29+
```python
30+
E:\code\mysite>python manage.py runserver
31+
Watching for file changes with StatReloader
32+
Performing system checks...
33+
34+
System check identified no issues (0 silenced).
35+
36+
You have 18 unapplied migration(s). Your project may not work properly until you apply the migrations for app(s): admin, auth, contenttypes, sessions.
37+
Run 'python manage.py migrate' to apply them.
38+
October 20, 2020 - 11:38:06
39+
Django version 3.1.2, using settings 'mysite.settings'
40+
Starting development server at http://127.0.0.1:8000/
41+
```
42+
访问地址:http://127.0.0.1:8000/
43+
![](../pic/django_note/django1.jpg)
44+
45+
### 3.创建投票应用
46+
```python
47+
python manage.py startapp polls
48+
```
49+
根目录下会生成一个polls目录:
50+
```python
51+
polls/
52+
__init__.py
53+
admin.py
54+
apps.py
55+
migrations/
56+
__init__.py
57+
models.py
58+
tests.py
59+
views.py
60+
```
61+
### 4.设置时区和语言
62+
/mysite/mysite/settings.py
63+
```python
64+
LANGUAGE_CODE = 'zh-hans'
65+
TIME_ZONE = 'Asia/Shanghai'
66+
```
67+
settings.py文件中INSTALLED_APPS包含的django自带应用。
68+
* django.contrib.admin:管理员站点。
69+
* django.contrib.auth:认证授权系统。
70+
* django.contrib.contenttypes:内容类型框架。
71+
* django.contrib.sessions:会话框架。
72+
* django.contrib.messages:消息框架。
73+
* django.contrib.staticfiles:管理静态文件的框架。
74+
### 5.创建模型-polls/models.py
75+
**模型是真实数据的简单明确的描述,它包含了存储的数据所必须的字段和行为。**</br>
76+
每个模型都是django.db.models.Model的子类,模型中的类变量表示数据库中的字段。
77+
78+
```python
79+
from django.db import models
80+
from django.utils import timezone
81+
import datetime
82+
83+
class Question(models.Model):
84+
question_text = models.CharField(max_length=200)
85+
pub_date = models.DateTimeField()
86+
87+
def __str__(self):
88+
return self.question_text
89+
90+
class Choice(models.Model):
91+
question = models.ForeignKey(Question, on_delete=models.CASCADE)
92+
choice_text = models.CharField(max_length=200)
93+
votes = models.IntegerField(default=0)
94+
95+
def __str__(self):
96+
return self.choice_text
97+
```
98+
### 6.激活模型(Models)
99+
#### 首先需要把polls应用配置到项目的INSTALLED_APPS中。
100+
```python
101+
INSTALLED_APPS = [
102+
'polls.apps.PollsConfig',
103+
...
104+
...
105+
]
106+
```
107+
#### 迁移数据库
108+
1. 生成迁移文件
109+
2. 应用到数据库
110+
```python
111+
# 为模型的改变生成迁移文件(sql语句)
112+
python manage.py makemigrations polls
113+
# 选中所有还没有执行过的迁移,并应用在数据库上面,也就是将模型的更改同步到数据库上
114+
python manage.py migrate
115+
```
116+
### 7.创建视图(Views)

0 commit comments

Comments
 (0)