使用djiango 創建網站


 

   如果發現用戶登錄異常等情況請不要驚慌,換個瀏覽器就好了,谷歌有這個問題,也困擾我很久。

  如果搭建過程,發現新建topic異常等現象,把不要驚慌,可能是你沒有進行數據重新清理,請徹底格式化數據庫就好了。

 

1.這不是一個容易的事,如果你之前並沒有做過。

2.我這是基於pycharm

admin 是用戶主頁,admin  不是必須的,admin中可以注冊你的模型(數據庫模型)

 

 

 這個地方添加你的app名字  

templates模板路徑地址

 

接下來需要創建數據庫  

 python manage.py migrate

 

創建超級用戶

python manage.py createsuperuser

 

用戶名和密碼必須要輸入,密碼必須包含8個字符

 

每次添加新的數據庫模板我們需要,我們要調整數據庫,遷移數據庫

python manage.py makemigrations learning_logs

 

python manage.py migrate

接下來使用shell來調試

對數據庫做了改動如果數據不重要可以直接清空,就不用下面的步驟了
python manage.py flush
#首先進行數據關聯用戶,先啟動shell
python manage.py shell from django.contrib.auth.models import User

User.objects.all()
#關聯數據
for user in User.objects.all():
  (table)
  print(user.username,user.id)
#遷移數據庫 以下命令要在shell里面輸入(ctr+z)
python manage.py makemigrations learning_logs
#選擇數據1
python manage.py migrate

python manage.py shell
#下面是一些驗證數據
from learning_logs.models import Topic

topics = Topic.objects.all()
  #主題所有者打印
  print(topic,topic.owner)
for topic in topics: (table 空格下面的語句不然會出錯)   print(topic.id,topic) t=Topic.objects.get(id=1) t.text t.date_added t.entry_set.all()
這幾條似乎很重要,負責后面網站添加數據,數據庫貌似會出一些問題

我大概遇到了這幾個問題

上面的 fields 決定了展現用戶form的哪幾項,有的如果用戶沒有創建,django會幫你創建,有時候會導致一些我們不想要的東西,所以只列舉你想要創建的對象,不能選擇 --all--

forms是表單,我們可以通過指定  get和post來區別是獲取一個空表單還是提交表單

很慶幸 它工作了

 

 

有 id可以填,沒有就不要添參數會出錯

 

通過

python manage.py startapp users

可以快速創建一個新的應用程序目錄,包含必備的文件樹

如果發現一些無法控制網頁錯亂,無法跳轉等事項請確認是不是瀏覽器緩存的故障,更換瀏覽器或者清空cookie可能能夠解決。

 

File "<frozen importlib._bootstrap>", line 665, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 678, in exec_module
File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
File "D:\python_work\myweb\learning_logs\models.py", line 6, in <module>
class Topic(models.Model):
File "D:\python_work\myweb\learning_logs\models.py", line 10, in Topic
owner = models.ForeignKey(User)
TypeError: __init__() missing 1 required positional argument: 'on_delete'

 

owner = models.ForeignKey(User,on_delete=models.DO_NOTHING)#不然說參數錯誤 關聯到一起

python manage.py shell
from django.contrib.auth.models import User
User.objects.all()

for user in User.object.all():
print(user.username,user.id)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM