django第一步
1. django安裝
pip install django
print(django.get_version()) 查看django版本
2. 創建項目
打開cmd,進入指定目錄
django-admin startproject projectname或
django-admin startproject projectname . #最后是空格加點
二者會在文件目錄上存在差別
3. 創建應用
進入project目錄
django-admin startapp appname或
python manage.py startapp appname
二者雖方式不同,但效果一樣
manage.py文件在項目創建后會被自動生成在項目的根目錄下,它是對django-admin.py的簡單封裝,所以效果一樣
4. 啟動服務
python manage.py runserver
5. 測試
在瀏覽器中輸入http://localhost:8000或http://127.0.0.1:8000
django項目結構認識
windows平台下使用tree/f命令查看詳細的文件結構
下圖創建xbqr項目和blog應用后的文件結構:
xbqr文件夾
1. settings.py:這個文件包含了項目的初始化設置,可以針對整個項目進行相關參數配置,比如配置數據庫,添加應用。
重點關注以下幾項:
(1)DEBUG:
# SECURITY WARNING: don't run with debug turned on in production!
DEBUG = True
(2)ALLOWED_HOST
在DEBUG為true時,其值可以為空,當部署到生產環境中時,要把主域名添加在這里,
才能通過域名訪問到本網站
(3)INSTALLED_APPS
這是一個非常重要的配置,所有的應用都被添加在這里
(4)DATEBASES
配置數據庫,django支持多種數據庫,MySQL、PosttgreSQL、Oracle等,默認的配置是SQLite
(5)LANGUAGE_CODE
設置項目語言,一般情況下不用修改,若非用漢字,則設置為‘zh-hans’
(6)TIME_ZONE
設置時區,通常為東八區,設置為‘Asia/Shanghai’
2. urls.py
URL配置表文件,根據用戶輸入的url將URL映射到應用程序上
3. wsgi.py
WSGI是python所選擇的服務器和應用標准,Django也會使用
blog文件夾
1. admin.py
在這個文件中可以自定義Django的管理工具,比如設置在管理界面能夠管理的項目,
或者通過自定義與系統有關的類對象,向管理功能添加新的內容
2. apps.py
包含對應用的配置,為管理功能提供一個合適的應用名稱
3. migrations
這是一個目錄,用於存儲應用的數據庫表結構的指令,通過這些指令可以修改和創建數據庫,從而在models.py模型類和數據庫之間遷移
4. models.py
應用的數據模型
5. tests.py
編寫測試文檔來測試所建立的應用
6. views.py
用戶保存響應各種請求的函數和類
編寫簡單博客
1. 編寫數據模型類
修改blog/modells.py文件
from django.db import models # Create your models here. from django.contrib.auth.models import User from django.utils import timezone class BlogArticles(models.Model): #注意基類 ''' 標題,內容,作者,發布時間 ''' title = models.CharField(max_length=300) content = models.TextField() author = models.ForeignKey(User, "unknow", related_name="blog_posts") publish = models.DateTimeField(default=timezone.now) class Meta: ordering = ("-publish",) def str(self): return self.title
2. 根據數據模型建立數據庫表
在/xbqr/manage.py執行python manage.py makemigrations
這樣會在D:\Pystu\xbqr\blog\migrations目錄下生成0001_initial.py文件

# Generated by Django 2.0.3 on 2018-03-25 06:47 from django.conf import settings from django.db import migrations, models import django.utils.timezone class Migration(migrations.Migration): initial = True dependencies = [ migrations.swappable_dependency(settings.AUTH_USER_MODEL), ] operations = [ migrations.CreateModel( name='BlogArticles', fields=[ ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('title', models.CharField(max_length=300)), ('content', models.TextField()), ('publish', models.DateTimeField(default=django.utils.timezone.now)), ('author', models.ForeignKey(on_delete='unknow', related_name='blog_posts', to=settings.AUTH_USER_MODEL)), ], options={ 'ordering': ('-publish',), }, ), ]
如果對上述代碼的含義不是很清楚,可以用python manage.py sqlmigrate blog 0001查看
3. 創建數據庫
上面創建了一個能夠建立數據庫表的文件,下面在此基礎上真正創建數據庫
python manage.py migrate
可以查看db.sqlite3數據庫文件
如何查看可以參考博客:Python之sqlite3
4. 發布博客文章
先用最簡單的方式實現博客文章的發布,使用django默認的管理功能就可以發布文章,要使用此功能,必須先創建超級管理員
python manage.py createsuperuser
在服務器運行的情況下
打開瀏覽器輸入http://127.0.0.1:8000/admin進入網頁
登錄后會看到Groups和Users兩項,卻找不到發布文章的地方
找到/blog/admin/py文件,添加代碼
from django.contrib import admin from .models import BlogArticles # Register your models here. admin.site.register(BlogArticles)
這下我們就看到發布博客的地方
點擊add,添加博客
下篇博客繼續講解如何顯示博客文章標題和文章內容!