Django框架创建
python搭建虛擬環(huán)境
Virtualenv方式
安裝virtualenv
pip install virtualenv進(jìn)入自己想要?jiǎng)?chuàng)建虛擬環(huán)境的目錄(以E盤MyDjangoProject為例)
cd E:/MyDjangoProject創(chuàng)建虛擬環(huán)境(以創(chuàng)建Envs為例)
virtualenv Envs # 默認(rèn) virtualenv -p /user/administrator/python35 Envs # 指定python解釋器啟動(dòng)/退出 虛擬環(huán)境
cd Envs/Scripts activate.bat # 啟動(dòng) deactivate.bat # 退出刪除虛擬環(huán)境(實(shí)際上是刪除目錄)
rd /s Envs?
也可以用mkvirtualenv(可能會(huì)默認(rèn)創(chuàng)建在C盤某個(gè)地方)
mkvirtualenv Envs # 創(chuàng)建 rmvirtualenv Envs # 刪除 workon Envs # 啟動(dòng)虛擬環(huán)境 deactivate # 退出虛擬環(huán)境 pip list # 顯示虛擬環(huán)境下所有的包?
安裝django
pip install django # pip安裝(要聯(lián)網(wǎng))?
創(chuàng)建項(xiàng)目
django-admin startproject test2 cd test2Django項(xiàng)目結(jié)構(gòu)圖
?
?
創(chuàng)建應(yīng)用(以booktest為例)
python manage.py startapp booktest應(yīng)用結(jié)構(gòu)圖
創(chuàng)建模型
# booktest/models.py from django.db import models #數(shù)據(jù)庫(kù)模塊# Create your models here. class BookInfo(models.Model): #繼承Model類title = models.CharField(max_length=20) #字符串類型pub_date = models.DateField() #日期類型def __str__(self):return self.title class HeroInfo(models.Model):name = models.CharField(max_length=10)content = models.CharField(max_length=100)gender = models.BooleanField(default=True)book = models.ForeignKey(BookInfo, on_delete=models.CASCADE) #外鍵def __str__(self):return self.namesettings.py添加app
生成遷移文件
python manage.py makemigrations遷移在數(shù)據(jù)庫(kù)中創(chuàng)建表
python manage.py migrate附: 用shell操作(相當(dāng)于用cmd運(yùn)行代碼)
python manage.py shell數(shù)據(jù)操作命令
# 創(chuàng)建 book = BookInfo() book.*** = *** book.save() # 修改 book = BookInfo.objects.get(id=***) book.*** = *** book.save() # 刪除 book.delete() # 查詢 BookInfo.objects.all() BOokInfo.objects.get(id=***)創(chuàng)建超級(jí)管理員
python manage.py createsuperuser運(yùn)行
python manage.py runserver?在瀏覽器地址欄輸入 127.0.0.1:8000/admin
改變語(yǔ)言和時(shí)區(qū)
#LANGUAGE_CODE = 'en-us' LANGUAGE_CODE = 'zh-Hans'#TIME_ZONE = 'UTC' TIME_ZONE = 'Asia/Shanghai'admin注冊(cè)模型類
# booktest/admin.pyclass BookInfoAdmin(admin.ModelAdmin):list_display = ('id', 'title', 'pub_date')class HeroInfoAdmin(admin.ModelAdmin):list_display = ('id', 'name', 'content', 'gender', 'book') admin.site.register(BookInfo, BookInfoAdmin) admin.site.register(HeroInfo, HeroInfoAdmin)
views創(chuàng)建視圖類
from django.shortcuts import render from django.http import HttpResponse from booktest.models import * # Create your views here. def index(request):# return HttpResponse('<h1>hello world</h1>')list = BookInfo.objects.all()context = {'booklist':list}return render(request, 'booktest/index.html', context=context)def detail(request, id):list = BookInfo.objects.get(id=id).heroinfo_set.all()context = {'herolist':list}return render(request, 'booktest/detail.html', context=context)test2/urls.py配置urlpatterns
from django.contrib import admin from django.urls import path, include # from django.conf.urls import url, include urlpatterns = (# url(r'^admin/', include(admin.site.urls)) 舊版本path('admin/', admin.site.urls), # 新版本# url(r'^', include('booktest.urls'))path('', include('booktest.urls')), )booktest/urls.py配置urlpatterns
from booktest.views import * from django.urls import path, re_path urlpatterns = [# url('^index/$', index)path('index/', index),# url('^(\d+)$', detail)re_path('(?P<id>\d+)/', detail), ]?
配置模版目錄
templates目錄下創(chuàng)建html文件
index.html
<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>Title</title> </head> <body> {#<h3>{{ content }}</h3>#} <ul> {% for book in booklist %}<li><a href="/{{ book.id }}/">{{ book.title}}</a></li> {% endfor %} </ul> </body> </html>detail.html
<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8"><title>英雄列表</title> </head> <body><ul>{% for hero in herolist %}<li>{{ hero.name }}</li>{% endfor %}</ul> </body> </html>?
轉(zhuǎn)載于:https://www.cnblogs.com/wust-ouyangli/p/8456577.html
總結(jié)
以上是生活随笔為你收集整理的Django框架创建的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
 
                            
                        - 上一篇: 计算机基础知识-操作系统
- 下一篇: BZOJ1798: [Ahoi2009]
