ajax
запрос на urlDjango
делает логику и отправляет респонсDjango
и меняем что нужно на странице с помощью jQuery
или отображаем ошибкиесли да, то что можете посоветовать
есть знания java и C++
мой стек HTML+CSS+React.js
Вообщем моя цель - конечная цель стать профессионалом и устроится в хорошую контору.профи становятся после того проработают Х лет
А для этого мне надо знать - как правильно писать на php т.е. форматирование кода, ООП, синтаксис, паттерны, в чем писать - редакторы и т.д.форматирование гуглится или читается на офсайте
Правильно - это как принято в серьезных организациях, стандарты. То есть понять не просто язык, а всю кухню.кухню узнаете при первом деплое
А не как сейчас делать так, а потом переделывать т.к. всё конечно работает, но так хорошие программисты не пишут.требования меняются быстро - нужно быть готовыв удалить весь свой и чужой код и написать его заново
А потом ещё все это приконнектить к Revision Control System, а их тоже немало.лидирующая cvs одна - git
Раз и навсегда - чтобы не забивать голову лишним и не тратить время.если вы думаете, что один раз что-то заучите и все, то так не бывает.
urlpatterns = [
path('check-username/', check_username, name='check_username'),
]
@require_GET
def check_username(request):
if 'name' not in request.GET:
return HttpResponseBadRequest()
return JsonResponse({'exists': User.objects.filter(username__iexact=request.GET['name']).exists()})
$('#id_name').change(function() {
$.getJSON('/check-username/', {'name': $(this).val()}, function(user) {
if(user.exists)
alert('Пользователь с таким именем уже зарегистрирован');
});
});
делать верстку за деньги ну очень не хотелось бы.
TEMPLATES = [
{
'NAME': 'django',
'BACKEND': 'django.template.backends.django.DjangoTemplates',
'DIRS': [],
'APP_DIRS': False,
'OPTIONS': {
'string_if_invalid': 'VARIABLE ERROR',
'context_processors': [
"django.contrib.auth.context_processors.auth",
"django.core.context_processors.request",
'django.contrib.messages.context_processors.messages',
'core.context_processors.cities_list',
'django.core.context_processors.static',
],
'loaders': [
('django.template.loaders.cached.Loader', [
'django.template.loaders.filesystem.Loader',
'django.template.loaders.app_directories.Loader',
]),
],
},
},
{
'NAME': 'jinja2',
'BACKEND': 'django_jinja.backend.Jinja2',
'DIRS': [],
'APP_DIRS': True,
'OPTIONS': {
'autoescape': False, # !!!!!!
"app_dirname": "jinja2",
"match_extension": ".html",
"newstyle_gettext": True,
"translation_engine": "django.utils.translation",
"extensions": [
"jinja2.ext.do",
"jinja2.ext.loopcontrols",
"jinja2.ext.with_",
"jinja2.ext.i18n",
"jinja2.ext.autoescape",
"django_jinja.builtins.extensions.CsrfExtension",
"django_jinja.builtins.extensions.CacheExtension",
"django_jinja.builtins.extensions.TimezoneExtension",
"django_jinja.builtins.extensions.UrlsExtension",
"django_jinja.builtins.extensions.StaticFilesExtension",
"django_jinja.builtins.extensions.DjangoFiltersExtension",
# "coffin.spaceless" не работает в py3
],
}
},
]