سلام اگر بخواهیم فرم را به صورت خالی ارسال کنیم، خطای مناسب دریافت می کنیم. اما اگر یوزرنیم یا پسوردی که وجود ندارد را وارد کنیم این اتفاق میافتد. (دور فیلدها به رنگ سبز در می آید.) در واقع، قالبِ form.html تنها چک می کند که فیلدخالی است یا نه …
سلام مثل همیشه، آدرس را اضافه می کنیم. myproject/urls.py from django.conf.urls import url from django.contrib import admin from django.contrib.auth import views as auth_views from accounts import views as accounts_views from boards import views urlpatterns = [ url(r’^$’, views.home, name=’home’), url(r’^signup/$’, accounts_views.signup, name=’signup’), url(r’^login/$’, auth_views.LoginView.as_view(template_name=’login.html’), name=’login’), url(r’^logout/$’, auth_views.LogoutView.as_view(), name=’logout’), url(r’^boards/(?P<pk>\d+)/$’, views.board_topics, …
سلام می خواهیم یک منو با لینکی به صفحۀ خروج برای کاربرانی که از قبل وارد سیستم شده اند ایجاد کنیم و آن را در صفحۀ base.html نمایش دهیم. منوی بازشوندۀ بوت استرپ ۴، برای اجرا به جی کوئری نیاز دارد. به آدرس اینترنتی jquery.com/download رفته و compressed, production jQuery 3.2.1 …
سلام اولین کار این است که مسیر جدید را در urls.py اضافه کنیم. myproject/urls.py from django.conf.urls import url from django.contrib import admin from django.contrib.auth import views as auth_views from accounts import views as accounts_views from boards import views urlpatterns = [ url(r’^$’, views.home, name=’home’), url(r’^signup/$’, accounts_views.signup, name=’signup’), url(r’^logout/$’, auth_views.LogoutView.as_view(), name=’logout’), …
سلام برای دانلود الگویی تکرارشونده در پسزمینه می توان به آدرس https://www.toptal.com/designers/subtlepatterns مراجعه کرد. بعد از دانلود آن، یک فولدر جدید با نام img درون فولدر static ایجاد میکنیم. بعد از آن درون فولدر static/css یک فایل css جدید با نام accounts.css می سازیم. myproject/ |– myproject/ | |– accounts/ …
سلام در حال حاضر تمام کدهای مربوط به تست برنامه را درون فایل قرار accounts/tests.py می دهیم. یک فایل طولانی و بلند… در این قست می خواهیم برنامۀ تست را به چند فایل متفاوت تقسیمبندی کنیم. برای اینکار یک فولدر با نام tests داخل فولدر accounts ایجاد می کنیم. درون …
سلام به صورت پیش فرض فیلد ایمیل در UserCreationForm وجود ندارد اما به راحتی آن را میتوان به فرم اضافه کرد. فایلی به نام forms.py را در فولدر accounts ایجاد کنیم. accounts/forms.py from django import forms from django.contrib.auth.forms import UserCreationForm from django.contrib.auth.models import User class SignUpForm(UserCreationForm): email = forms.CharField(max_length=254, required=True, …
سلام کد تست را به شکل زیر بهتر می کنیم. accounts/tests.py from django.contrib.auth.forms import UserCreationForm from django.core.urlresolvers import reverse from django.urls import resolve from django.test import TestCase from .views import signup class SignUpTests(TestCase): def setUp(self): url = reverse(‘signup’) self.response = self.client.get(url) def test_signup_status_code(self): self.assertEquals(self.response.status_code, 200) def test_signup_url_resolves_signup_view(self): view = resolve(‘/signup/’) …
سلام از کجا مطمئن شویم که برنامه به درستی کار کرده؟! برای این کار لازم است تا برنامه، نامِ کاربر جاری سیستم را در منوی بالایی نمایش دهد. templates/base.html {% block body %} <nav class=”navbar navbar-expand-sm navbar-dark bg-dark”> <div class=”container”> <a class=”navbar-brand” href=”{% url ‘home’ %}”>Django Boards</a> <button class=”navbar-toggler” type=”button” …
سلام به عنوان اولین گام باید یک url برای صفحۀ ثبت نام تعریف کنیم. myproject/urls.py from django.conf.urls import url from django.contrib import admin from accounts import views as accounts_views from boards import views urlpatterns = [ url(r’^$’, views.home, name=’home’), url(r’^signup/$’, accounts_views.signup, name=’signup’), url(r’^boards/(?P<pk>\d+)/$’, views.board_topics, name=’board_topics’), url(r’^boards/(?P<pk>\d+)/new/$’, views.new_topic, name=’new_topic’), url(r’^admin/’, admin.site.urls), …