pip install djangohtml
print(django.get_version()) 查看django版本python
打開cmd,進入指定目錄sql
django-admin startproject projectname或數據庫
django-admin startproject projectname . #最後是空格加點django
兩者會在文件目錄上存在差異windows
進入project目錄瀏覽器
django-admin startapp appname或服務器
python manage.py startapp appnameapp
兩者雖方式不一樣,但效果同樣ide
manage.py文件在項目建立後會被自動生成在項目的根目錄下,它是對django-admin.py的簡單封裝,因此效果同樣
python manage.py runserver
在瀏覽器中輸入http://localhost:8000或http://127.0.0.1:8000
windows平臺下使用tree/f命令查看詳細的文件結構
下圖建立xbqr項目和blog應用後的文件結構:
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也會使用
1. admin.py
在這個文件中能夠自定義Django的管理工具,好比設置在管理界面可以管理的項目,
或者經過自定義與系統有關的類對象,向管理功能添加新的內容
2. apps.py
包含對應用的配置,爲管理功能提供一個合適的應用名稱
3. migrations
這是一個目錄,用於存儲應用的數據庫表結構的指令,經過這些指令能夠修改和建立數據庫,從而在models.py模型類和數據庫之間遷移
4. models.py
應用的數據模型
5. tests.py
編寫測試文檔來測試所創建的應用
6. views.py
用戶保存響應各類請求的函數和類
修改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
在/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查看
上面建立了一個可以創建數據庫表的文件,下面在此基礎上真正建立數據庫
python manage.py migrate
能夠查看db.sqlite3數據庫文件
如何查看能夠參考博客:Python之sqlite3
先用最簡單的方式實現博客文章的發佈,使用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,添加博客
下篇博客繼續講解如何顯示博客文章標題和文章內容!