django初探-建立簡單的博客系統(一)

django第一步

1. django安裝

  pip install djangohtml

  print(django.get_version()) 查看django版本python

2. 建立項目

  打開cmd,進入指定目錄sql

  django-admin startproject projectname或數據庫

  django-admin startproject projectname .     #最後是空格加點django

  兩者會在文件目錄上存在差異windows

3. 建立應用

  進入project目錄瀏覽器

  django-admin startapp appname或服務器

  python manage.py startapp appnameapp

  兩者雖方式不一樣,但效果同樣ide

  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',),
            },
        ),
    ]
View Code

  若是對上述代碼的含義不是很清楚,能夠用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,添加博客

  下篇博客繼續講解如何顯示博客文章標題和文章內容!

  django初探-建立簡單的博客系統(二)

相關文章
相關標籤/搜索