#web-development

2 messages ยท Page 3 of 1

cyan pilot
#

I was just annoyed by imageboards in general not having Boolean operators like OR and XOR

olive oxide
#

tbf e6 api is pretty god tier

cyan pilot
#

yeah, I was surprised it had so much

#

yesterday I looked at the r34 api

#

it's literally just this

olive oxide
#

never had a shot at theirs

#

reason being I dislike both of their sites

#

pop up ads out the ass

cyan pilot
olive oxide
#

that's uhh

#

that's like exactly the same

#

font, formatting, syntax, everything

cyan pilot
#

?

olive oxide
#

e6's font and formatting look identical to me

cyan pilot
#

r34 is completely custom, but the odds of them having the same font aren't that bad

#

as for formatting

#

well, I dunno

olive oxide
#

maybe it's just drawn porn apis around the world

mild bridge
cyan pilot
olive oxide
cyan pilot
#

For someone with zero requests experience and zero HTTP experience, it was very easy for me to figure out

olive oxide
#

thought i was stroking out for a sec

#

e6's api is the first I used and I'm glad I started with it

#

not just cause of the content

cyan pilot
#

I would've started with e6, but r34's just looked so simple that it only took literally 10 seconds to get results

olive oxide
#

does r34 also support searching by md5?

#

probably not since filenames aren't md5 and it's not stored in the same way as e6

cyan pilot
#

Not by md5, but you do have access to them afaik

#

then 20 minutes after I was parsing URLs consistently

olive oxide
#

funny this gets mentioned cause I'm writing something to sort your local collection by tags by the magic of searching by md5

cyan pilot
#

? after a *,+, or a {x,y} makes it non-greedy btw

olive oxide
#

greedy?

cyan pilot
#

greedy means it makes the largest match possible

#

non-greedy means it goes for the smallest

olive oxide
#

ah

cyan pilot
#

so if you do a greedy search in a book with r'"(.+)"'

#

It will get the first and last quotation mark, with everything between them

#

Well, . actually doesn't count as newline so that isn't true

#

But if you didr'"(.+?)"' instead, it would give you shortest match

olive oxide
cyan pilot
#

So you'd probably get "Huh?" instead of "(Entire book here)"

#

but yeah, I'm making an application just to browse these sites

#

wihtout having to open my browser

olive oxide
#

interesting

cyan pilot
#

I plan on saving search history, having fancy boolean operators, and being able to batch-save images.

olive oxide
#

soudns rad

#

*sounds

cyan pilot
#

next up, start a patreon and sell it to people

#

hey guys be sure to come by and donate to my patreon

olive oxide
#

i already donate 10% of my wealth to the church of xnirox

cyan pilot
#

better than the church of xXx_darkwulf_xXx

#

but yeah, I started all of this because I was grumpy about lack of Boolean operators

olive oxide
#

if ur not a variation of "shadow wolf" ur bad

cyan pilot
#

I might also implement a soft-search mode, which only requires one of the entered tags

#

it would just be a checkbox

#

pretty simple too, just do a search for each set of tags, then merge the results

#

I should also make it entirely usable in a left-handed mode

olive oxide
#

that wasn't your intention from the start?

#

smh

cyan pilot
#

No, it was to expand my porn collection and also tag it

#

And get better searches

#

cus some sites have crappy tagging, so an OR operator is needed to search for one type of image when the type has three different tags

olive oxide
#

does e6 have an OR operator?

#

I couldn't find any trace of it

#

it'd be real useful

cyan pilot
#

Yeah

#

I even find myself wanting an XOR sometimes

olive oxide
#

same

cyan pilot
#

It's weird, but there's an art to browsing porn

olive oxide
#

it's not a talent, it's a skill

cyan pilot
#

I can tell you I don't have talent. But what I do have are a very particular set of skills, skills I have acquired over a very long career.

#

Skills that make me a nightmare for images like you.

#

If you let my tag change go now, that'll be the end of it. I will not look for you, I will not pursue you.

#

But if you don't, I will look for you, I will find you, and I will report you.

olive oxide
#

I'm sure there's a portal 2 quote I can doctor to make it relevant but I can't think of any

cyan pilot
#

something something cake

olive oxide
#

To maintain a constant pleasure cycle, I simulate nighttime at all hours and add adrenal vapor to your oxygen supply. So you may be confused about the passage of time. The point is, yesterday was your birthday. I thought you'd want to know.

cyan pilot
mild bridge
#

Very impressive!

#

(Because this message is prerecorded, any comments we may make about your success are speculation on our part. Please disregard any undeserved compliments.)

wary mantle
#

heyy.. I am new to programming. I just wanted some information. What is django and whats it used for? (is it just for web development)

strange thorn
#

its a back end web development framework, one of the two most popular used with python.

#

but i wouldnt really recommend it for programming newbies, it is a really advanced tool/framework

brittle copper
#

I use it for sending myself reminder mails, lol

strange thorn
#

i mostly use flask for...... anything that needs to accept http requests

wary mantle
#

k. thanks.. i was just wondering because i kept on hearing it everywhere,

#

what other web frameworks are there that are easy and quick? @strange thorn

strange thorn
#

flask is the kind of epic antagonist to django

wary mantle
#

๐Ÿ˜ƒ

#

which one is easier

strange thorn
#

django is this "we help you a lot, give you less freedom but you cant do mistakes in exchange for that"
and flask is like "do whatever you want you may do amazing stuff or may do some horrible mistake an everything fails"

kind steppe
#

flask is simpler in my opinion

strange thorn
#

^

kind steppe
#
from flask import Flask

app = Flask(__name__)

@app.route("/")
def index():
    return "Hello there", 200

app.run(port=3000, debug=True)
strange thorn
#

like this is what you have todo in django to display some basic html page: https://stackoverflow.com/questions/15674257/displaying-simple-html-pages-django

and this would be some very simple flask code for that

import flask

app = flask.Flask(__name__)

@app.route("/")
def index():
      return flask.render_template("index.html")

app.run()
kind steppe
#

django makes me cry a little everytime i see it

strange thorn
#

two idiots one thougt huh? @kind steppe

mild bridge
#
from flask import Flask

app = Flask(__name__)

@app.route("/")
def index():
    return "Hello there", 200

app.run(port=3000, debug=True)

something something flask

kind steppe
#

exactly

#

aperture go away

mild bridge
#

:(

kind steppe
#

lmao

strange thorn
#

there is only space for two idiots with the same thoughts here

brittle copper
#

django give you less freedom

#

I don't agree :(

#

I mean it is a bit hard to do stuff indeed, but can do pretty much everything

strange thorn
#

Django doesn't give you freedom that easy then?

brittle copper
#

Yup, that is true

#

I mean almost everything is built in already

kind steppe
#

Okay lads

#

this could be interesting

strange thorn
#

if one had fire fox os and a certified application for it...

kind steppe
#

i have one of those

ripe grotto
#

Can I set up a custom domain for a Github Pages Project?

ripe grotto
#

Solved, nevermind finger_gun_dank

deep cave
#

yes there are probably a lot of nginx users here

#

just ask your question.

dense sapphire
#

@deep cave i got it fixed

wary mantle
#

how do you do that box thing on discord when you want to write some code?

strange thorn
#

```language
code
```

#

for example

#

```py
print("HI")
```

wary mantle
#
print("HI")
strange thorn
#
print("HI")
#

jup

wary mantle
#

oh.. thats cool

#

thankss

strange thorn
#

thats markdown

wary mantle
#

๐Ÿ˜ฎ

#

๐Ÿ˜ฆ

#

lol

strange thorn
#

oh and if you want todo short snippets in a sentence (thats the wrong `) print("HI")

#

``print("HI")``

#

its important to use those `

wary mantle
#

ok

#

hello

#

ok... ๐Ÿ˜ƒ

#

thanks

strange thorn
#

and when you should want a syntax highlighter always leave the language in a seperate line

#

py print("HI")

#

doesnt work only if its
```py
code
```

mild bridge
#

py!tag codeblock

native tide
#
Tag

If you are going to post code in Discord, please use syntax highlighted blocks, as it makes it more legible for other users.

To do this, you should input your content like this:

```python
print("Hello world!")
```

This will result in the following:

print("Hello world!")
wary mantle
#

how do u make another line. mine just enter

mild bridge
#

shift + enter

strange thorn
#
def func():
    print("HI")

while 1:
    func()
#

no

#

when you havent closed your codeblock yet you can actually do just enter

#

like when you have
```py

wary mantle
#

ok

#

thanks

strange thorn
#

you can just write your code as usual under it

#

without shift enter

wary mantle
#
def func():
    print("HI")

while 1:
    func()
#

ok

shrewd sand
#

Hi, could i ask for help with a web server project?

strange thorn
#

you could

#

depends on you

shrewd sand
#

xD

wary mantle
#

this sever is amazing.. active. ๐Ÿ˜ƒ

strange thorn
#

indeed

#

its aaaalive

shrewd sand
#

Im trying to get a POST message to be listened to by my raspberry pi

strange thorn
#

ok

shrewd sand
#

And activate a bash script, depending on what data is sent with the POST

#

I only need one line from the POST, the command data

strange thorn
#

that is usually a bad idea

#

activating shell scripts via post

#

or via remote in general

shrewd sand
#

ikik

#

Its not anything bad that i wanna run

#

The only commands will be media player

strange thorn
#

oh thats not what i mean

#

i mean someone could use it to run sth bad

shrewd sand
#

I want to send a variable

#

not a command

#

So the command is not sent

strange thorn
#

well

shrewd sand
#

And the variable will be read by the code

#

If it matches

strange thorn
#

when someone does sql injections he also "just sends a variable" but executes an command in the end

#

anyway if you want it i wont stop you

shrewd sand
#

Preferably i would send a ssh command

#

Its between IFTTT and my pi

#

So if you have a better idea

#

im all ears xD

strange thorn
#

well the best idea would possibly be to use sth like paramiko in order to open a ssh session (ofc password secured ๐Ÿ˜‰) and execute the command over that

shrewd sand
#

Ye alright

#

I wanna try and avoid using lots of 3rd parties

strange thorn
#

although one could indeed implement a similar concept with some flask and requests scripts in python

#

oh

#

pythons super power is 3rd party man

shrewd sand
#

Cause it gets messy

strange thorn
#

python is like

#

you need some feature there is a module for it

shrewd sand
#

No like

strange thorn
#

(a third party one)

shrewd sand
#

3rd party applications

#

so python counts a 1

#

IFTTT 2

strange thorn
#

what isnt a third party application in your eyes

shrewd sand
#

Modules

#

Stuff within a program

strange thorn
#

that is actually nearly as third party as it can get but... ok

#

sooo

shrewd sand
#

Sorry

#

xD

#

im not amazing at the english

strange thorn
#

i (the I here is important there are dozens of ways) would prbly use requests module on client side and setup some tiny flask based server on server side (both 3rd party libs for python) and exchange data via those

shrewd sand
#

Ok

#

So if im using flask

#

Is it passcoded?

strange thorn
#

oh

#

that depends on you

shrewd sand
#

I meant 3rd party applications*

strange thorn
#

flask is a library

shrewd sand
#

i looked up

#

xD

strange thorn
#

you can do anything with it

shrewd sand
#

alright

#

Ty

#

also

#

I don't quite understand how Port forwarding works completely. If i have a port open... is it only linked to the device i set?

#

So if i switch it off.... the port is useless?

strange thorn
#

wait

#

how did we get from

shrewd sand
#

It being the host

#

Well

strange thorn
#

execute command via post request

#

to port forwarding

shrewd sand
#

Ifttt

#

is outside my network

strange thorn
#

that is an extremly bad idea then

#

dont do that

shrewd sand
#

Thats my problem xd

strange thorn
#

executing commands from outside your network is nearly always a bad idea

shrewd sand
#

Its a terrible idea

#

Cause the webserver can just be hacked

strange thorn
#

Just...

#

Dont

shrewd sand
#

alright

#

That confirms

strange thorn
#

There are so many ways this could go wrong

shrewd sand
#

what i thought ;-;

#

Yeah

#

Out of interest

#

Is portforwarding of any type bad?

#

E.g ssh?

strange thorn
#

Portforwarding itself is ok the question is what service is running on the port

#

Anyway if you don't have any questions left I'll do my lineage os updates now @shrewd sand

#

takes that as a "no questions left"

shrewd sand
#

xD

#

Ye thanks alot..... gotta find a new solution now

shrewd sand
#

seems to be a good ulternative

strange thorn
#

i got pinged

#

that seems acceptable

shrewd sand
#

You pinged me ๐Ÿค”

mild bridge
stone arrow
#

hullo if i were to get into web development with python, should I be going with Django?

cyan pilot
#

A lot of people here recommend Flask

stone arrow
#

ah ok what is the difference between them?

cyan pilot
#

You would have to wait for someone else if you want specifics, but generally Django is more verbose

stone arrow
#

aight thanks flask i shall go with then LOL

strange thorn
#

How's Django more verbose? @cyan pilot

cyan pilot
#

I was referring by vague memory of the convo on the 21st in this channel

deep cave
#

Django is more opinionated. It comes with many batteries included.

#

Flask is far more barebones. A Flask webapp can be a single file with a couple of decorated functions.

#

you can extend Flask to be as comprehensive as you need it to be

#

with Django you don't really have a choice. It has very strong opinions about how you should do things. It wants you to use a SQL based ORM, have migrations, use class based views, have an admin panel

#

but on the other hand, Django will also force you to be more secure, and most of the batteries that come included are very good batteries.

#

they're both good, they're just extremely different. Flask is far more forgiving for beginners, because it lets you just write exactly what you need and learn one thing at a time.

#

Django throws you into the deep end and requires you to understand a great many things before you can really use it properly.

#

I think Django can be a great choice for professionals that happen to agree with the various methodologies and modules that Django so devoutly subscribes to.

#

Flask is far more versatile, which is why people love it around here. You can do anything you want with Flask. With Django you shouldn't try to do anything you want, you should just do what Django wants. And Django is a reasonable guy.

brittle copper
#

, but generally Django is more verbose triggered

#

use class based views, have an admin panel

#

No and no

strange thorn
#

someone calm down we already had the discussion

#

django gives you harder access to freedom

#

than flask

deep cave
#

that's.. no.

brittle copper
#

No I'm just fixing couple key points :'c

#

I mean you can use functions simply

#

And you can very easily close the admin panel in the settings

deep cave
#

just because you can do all of these things, doesn't change the fact that it's not what django prefers.

#

django makes it very clear how it wants you to use it.

#

you can disregard all of those opinions but at that point, why even use django?

brittle copper
#

Welp, didn't know that it wants me to use classviews

#

Don't really know why are you even saying it xD

#

I'm using functions and they do the job pretty well

#

I mean I agree with everything else but don't know this particular point

deep cave
#

the reason I say that is because if you want to use any of djangos generic views, you need class-based views so you can inherit from them

#

and the generic views are useful.

#

to be sure.

#

and you don't wanna be mixing the two approaches.

brittle copper
#

Oh, I really don't use them and don't even know most of them since I want a bit more freedom than usual

deep cave
#

so it's usually a better option to just go class-based from the get-go.

#

to be clear, I'm not saying class-based views are in any way inferior to function-based views.

#

I prefer them.

#

but it's just that django sort of assumes you're using class-based views when it comes to some of its internals

#

like generics.

#

and that assumption is an example of how django feels opinionated.

brittle copper
#

Welp, I guess you are right then

deep cave
#

I used generic views when I built a CRUD back in the day

#

and they served me well - but I do think perhaps that for larger projects, people never use them.

#

they're frequently employed in django tutorials though

#

because they abstract away the actual view logic so you can have something up and running much faster

#

iirc djangogirls uses it

#

which is a good tutorial btw

native tide
#

what

#

never heard of it

deep cave
#

they're one of those girl coding workshops

#

and their official tutorial is pretty well written.

brittle copper
#

Yeah I saw them too but it feels like they are rather for simple views

deep cave
#

(for learning absolute basics)

native tide
#

huh neat
the only "girl coding workshop" i seen was kode with karlie

#

and it gave me terminal cancer

brittle copper
#

I'm not sure how to extend them to my huge views

deep cave
#

you can't.

#

they're just for simple stuff like listing a model.

#

but herein lies my main concern

#

why is Django offering a tool to do something that beginners would love to do - a simple way to list a model

#

but forcing you to use class-based views (which are kind of complicated to fully comprehend for a beginner) to do it?

#

and is it really useful to abstract listing a model, or could it be more benficial to have to write exactly that sort of thing when you're starting out? it's a good way to learn how ORMs and templates are supposed to play together.

brittle copper
#

Yeah that is weird but just use functions instead, I mean the main things are pretty much the same with them too; I mean everything has a weird part just like django

deep cave
#

sure.

meager anchor
#

has anyone managed to implement discord OAuth into their web app? I'm trying to do so using https://github.com/pennersr/django-allauth, which kind-of-worked initially, but now when trying to log in I just get UNKNOWN_ERROR. goal is to allow users to log in and "connect" django's permission system with the guild permissions from discord

brave mantle
#

@meager anchor We're using flask-dance for it

#

It has a specific module for Discord

#

As for django though, I have no idea

meager anchor
#

yeah, flask allows you a bit more freedmo about configuration D:

brave mantle
#

That said basically any OAuth lib should work

#

It's very standard

meager anchor
#

i'm gonna retry with the allauth thing for the third time, maybe i get blessed and it works

brave mantle
#

Haha, worth a try

meager anchor
#

except that this framework decides to append random characters to my name if a django account for it already exists ๐Ÿค”

#

hey i mean at least its API is well documented /s

brave mantle
#

Haha

#

That's django for you

meager anchor
#

hey django is well documented ๐Ÿ˜ฆ

#

but this oauth thing isn't, I literally have no idea what it's doing

native tide
#

Should I start learning django or databases first?

strange thorn
#

databases could become more useful

native tide
#

Okay thanks ๐Ÿ˜ƒ

strange thorn
#

like you do webapps with django and there may be db in it but you can do more than webapps with db

native tide
#

I assume mySQL is the most popular one

strange thorn
#

not use mysql

#

for a lot of reasons

#

go with postgres if you want an sql based one

native tide
#

danke

strange thorn
#

np

meager anchor
#

this is complete hell

#

i've been sitting on this issue for like 2 days now and made almost no progress

#

the package is very poorly documented and customizing default discord oauth provider is not proving to work properly either

strange thorn
#

great

#

whats the problem?

meager anchor
#

right now the library only saves data from the /@me endpoint

#

but I also need to access the guilds data, and since i have no information on how to request further user data whatsover I tried making my own provider

#

or well, "adapter"

#

now I have this... with """commented out""" body ```py
import requests

from allauth.socialaccount.providers.discord.views import DiscordOAuth2Adapter
from allauth.socialaccount.providers.discord.provider import DiscordAccount

class CustomDiscordOAuth2Adapter(DiscordOAuth2Adapter):
"""
guilds_url = 'https://discordapp.com/api/users/@me/guilds'

def complete_login(self, request, app, token, **kwargs):
    headers = {
        'Authorization': f'Bearer {token.token}',
        'Content-Type': 'application/json'
    }
    profile_data = requests.get(self.profile_url, headers=headers).json()
    guild_data = requests.get(self.guilds_url, headers=headers).json()
    extra_data = {**profile_data, 'guilds': guild_data}

    return self.get_provider().sociallogin_from_response(request, extra_data)

def new_user(self, request, social_account):
    return DiscordAccount(social_account)
"""
and set it up to use this. now I have no idea why, but for some reason when I tell it to use the direct subclass of the adapter that works it stops working
#

although complete_login is the only method I need to override, if my logic isn't wrong

strange thorn
#

i gotta admit this is too deep in the lib for me i guess you will have to find someone who knows it sry

meager anchor
#

dw about it

kind steppe
#

you need to other scopes @meager anchor

#

I assume allauth.socialaccount.providers.discord.provider gives something like that

meager anchor
#

yeah scopes are customized

#
SOCIALACCOUNT_PROVIDERS = {
    'discord': {
        'SCOPE': ['identify', 'guilds']
    }
}
kind steppe
#

you just need to get to the guilds endpoint

meager anchor
#

that's what I'm doing in the complete_login method

kind steppe
#

and it's just not appearing there?

meager anchor
#

no, it doesn't even get to the point of logging in properly

#

I keep getting attributeerrors for seemingly unknown methods

#

although I'm subclassing the adapter with which it worked

kind steppe
#

This is the issue with un-documented middleware

#

If you are feeling fancy it's a lot easier making a class to manually work with OAuth2

meager anchor
#

hm

kind steppe
#

Discord docs even use python for their oauth2 examples

meager anchor
#

yeah I looked at that before

#

but then I'd have to integrate all of that with Django manually

#

i suppose I could add a function to the discordaccount class to fetch this information later

kind steppe
#

It's at minimum only two extra functions, both just sending and handling requests

meager anchor
#

well

#

I've looked at alternatives but I didn't get them to work and now I have this which almost works, but I just need to customize it. but thanks to its horrible documentation, it's near impossible

#

next weird thing, the oauth2 dialog on discord tells me nothing about the service not asking for my e-mail yet for some reason it's there

meager anchor
#

i give up w/ this for now, need to learn front end anyways

brittle copper
#
handler404 = 'mainsite.views.handler404'
handler403 = 'mainsite.views.handler403'
handler500 = 'mainsite.views.handles500'
#

Okay never mind

#

it is handler not handles

#

๐Ÿคฆ

cyan pilot
#

Is there an online service for testing HTTP stuff?

olive oxide
#

?

cyan pilot
#

oh

#

thanks

brittle copper
#

Oh my that is so cute

kind steppe
#

tbh I recommend postman

#

or just curl is best

brave mantle
#

Postman is great, I use that

strange thorn
#

Me too

heavy radish
#

ey guys i am at a point where i have to fiddle with css and html shit....
what would u reccomend for a django page?

bootstrap 3. or 4.?
or something entirely different?

stone pelican
#

I don't think the html and css have anything to do with front-end

#

It greatly depends on what you want

heavy radish
#

well iam trying to learn about python as my most general goal.
the best opportunities to make use of python in my own sphere are to create something I and maye others actually will use
so after trying pyqt5 i realized that noone ever apart from myself is going to use anything i built with that

so i came up with the idea that if i ever want to have someone else make use of what i produce a website is the best choice...
so i went into django (cuz thats the best way to make stuff "right"... i heard)
learning how to use Database with Django was fun
also using its server to present the Data from the Database in a webbrowser is the way i prefer

so now since i have a project my friends are interested in using if i can provide them easy access too
i also want to learn how to make the websites i create visualy appealing...

so atm i just want to gather some oppinions on what is the most efficient and maybe also most rational approach to learning about
making sites beautiful

#

could be that certain stuff in things like Bootstrap are not wise to use in combination with django

#

basically i know shit about css and only very basic on html

#

so i dont want to spent the next weeks learning about that on a broad spectrum but just get comfortable with a thing like bootstrap

heavy radish
#

i guess i answered it myself now....

using bootsstrap via maxCDN is super easy and does the job

stone pelican
#

Bootstrap has nothing to do with Django dude

#

Use whatever you want

#

I like bootstrap personally. You can look at the pythondiscord.com site source to see what we do

brittle copper
#
def staff_member_required(view_func=None, redirect_field_name=REDIRECT_FIELD_NAME,
                          login_url='admin:login'):
    """
    Decorator for views that checks that the user is logged in and is a staff
    member, redirecting to the login page if necessary.
    """
    actual_decorator = user_passes_test(
        lambda u: u.is_active and u.is_staff,
        login_url=login_url,
        redirect_field_name=redirect_field_name
    )
    if view_func:
        return actual_decorator(view_func)
    return actual_decorator```
#

This is the django's decorator to check if a user is indeed a staff member and if not this little guy redirects them to django-admin-login

#

I do not want to edit the source code in anyway(why? no idea, should I?) so my question is this

#
urlpatterns = [
    url(r'^admin/', my_magic_decorator(admin.site.urls)),
]```

Can I do something like this which redirects to my desired url instead of `'admin:login'`
#

Or that which raises a 404, really doesn't matter

#

I'm asking because I'm having a hard time understanding decorators fully

brave mantle
#

It looks like you just supply it as the login_url param?

brittle copper
#

Yup

#

Just changin that there would probably solve my problem but no idea if I can do it without changing it there

#

Is it obvious and am I not seeing it?

brave mantle
#

That's more of a django question than a python question I think

brittle copper
brave mantle
#

"I don't understand decorators" is a python question

brittle copper
#

I don't, I don't know if I can change the login_url that is hard coded here with a decorator

brave mantle
#

Yes, you can

brittle copper
#

Changing the link there doesn't seem to affect the outcome though

#

I'm surprised

dense sapphire
#

guys calling a JS library client side as such js <script src="https://www.howsmyssl.com/a/check?callback=parseTLSinfo"></script> dangerous?

strange thorn
#

Unlikely

brave mantle
#

Browsers implement a sandbox so for the most part that's safe

dense sapphire
#

Okay then. Just out of curiosity, when would it be a vulnerable implementation?

brave mantle
#

It shouldn't be unless someone's using a browser without a sandbox

#

But as far as I know, that isn't a thing that exists

strange thorn
#

Well there may be ways to get out of the sandbox but for that someone would have to find a vulnerability in the browsers js engine

brave mantle
dense sapphire
#

Guys if i am sending a web server the following JSON object: { 'potato' : 'new'} and it replies back with a JSON object as well. What should the server be expecting for it to reply with its JSON object?

#

I am asking because i am more of a security guy, and I am testing how null byte should be handled server side

#

please ping me if you can answer me or wanna ask for more details

kind steppe
#

that makes very little sense

#

are you saying "if i send this and get this what should i send"

dense sapphire
#

{ 'x': 'y'} -> {"z":["a","b"]}

#

My question is: What is the web server expecting, and how does it process it? Just asking for experience

#

gathering knowledge on the matter

kind steppe
#

That is a case to case thing though?

mild bridge
#

Is there a jo.seph.club

strange thorn
#

asking what to use to trigger something you want without having any docs about the server is impossible

kind steppe
#

as of now no but that is smart aperture

mild bridge
#

sad

kind steppe
#

Yeah what @strange thorn said

strange thorn
#

its like

kind steppe
#

@mild bridge was also thinking jo@seph.club tbh

dense sapphire
#

Okayyy, I get your points

mild bridge
#

ooo

strange thorn
#

you use a random word to try to say hello in chinese

mild bridge
#

that's also nice

kind steppe
#

@strange thorn bonjour

strange thorn
#

uuuh french

brave mantle
#

@strange thorn Bread

strange thorn
#

i shouldnt have said that

kind steppe
#

lmao

brave mantle
#

haha

mild bridge
#

wait fuck

brave mantle
#

who did you just ping?

#

you pinged a duck

#

bad appy

mild bridge
#

you didn't see anythin

brave mantle
#

that won't fix it

#

they'll still have the pinging

mild bridge
#

but now they don't know it's me squidab

kind steppe
#

it will still say that message iirc

#

@kind steppe test

mild bridge
#

o

#

rip

kind steppe
#

oh self mentions don't count

#

edit

strange thorn
#

joooseeph

#

i see channels moving

mild bridge
#

what about now

kind steppe
#

which channels?

strange thorn
#

special

#

but it has stopped

neat nest
strange thorn
#

weeeeell

kind steppe
#

back to the null byte question @dense sapphire

mild bridge
#

It was Joseph

kind steppe
strange thorn
#

there was this guy asking some more or less unsolvable question and i had some funky idea to answer it so we ended up here after some time

dense sapphire
#

@kind steppe i am receiving a certain response though from sending a %00 ๐Ÿ˜›

strange thorn
#

you could

dense sapphire
#

a valid response

kind steppe
#

then the webserver does not see it as an issue

#

and why should it? it's just a character after all

#

I'm off for my tea

strange thorn
#

just open chrome open dev tools record network traffic copy the ones you are interested in as curl go to curl to python converter and BAM python code for interacting with the server

dense sapphire
#

i am interpreting requests and responses on burp

strange thorn
#

just saying what i would/do usually do for finding out how stuff interacts if there is no docs

native tide
#

Who is ducking?

strange thorn
#

some hmmmmmmmmmer

#

the world hmmmmm champion

#

right? @mild bridge

mild bridge
eager meteor
#

Mihow

#

I'm wanting to learn more about web dev using Flask to get started. Without a website to test with is their a test environment I can use or do I have to setup a webserver?

deep prism
#

Your own pc will be your webserver.
In your browser you just browse to localhost:<port> or 127.0.0.1:<port> to go to your website.

eager meteor
#

ok I think I just found a good tutorial for flask mysql on a localhost. Ty as always you guys are great

neat nest
#

HTML and CSS control how web pages are displayed, but they are not programming languages and cannot change the content of the page after it has been rendered

#

if you need to change the structure of your webpage after it has been sent to the client, you need JavaScript, which is a programming language the browser can execute

#

does that answer your question, @fiery kestrel ?

mild bridge
#

Depends how you're serving your webpage tbh

#

you could use Jinja

#

wait so

neat nest
#

HTML and CSS are like a blueprint for a house. When someone wants to see your webpage, you send them a blueprint and their browser builds it. If you want to change how something is displayed and send them a different blueprint, you change the HTML and CSS you send to them. If you want the blueprint to change AFTER you have sent it you need JavaScript.

meager anchor
#

Jinja is a templating engine

neat nest
#

oh

mild bridge
#

wait

#

so

#

you want to change how google presents a webpage on your browser

#

?

meager anchor
#

maybe they mean google chrome?

deep cave
#

they mean the google search results.

#

you can change what they say, but you can't swap their positions.

meager anchor
#

oh

deep cave
#

sorry, my dude.

fiery kestrel
#

@mild bridge yes ofc... i dont know how a 'web dev' sees or understand the question, sorry

deep cave
#

just to be clear

#

@fiery kestrel you're saying

#

you wanna swap the position of the blue and green parts?

#

on google search?

#

for your page?

#

if so, it can't be done.

fiery kestrel
#

@deep cave yes

mild bridge
#

It may be possible to write a chrome extension to modify the HTML and CSS?

#

iunno

deep cave
#

sure. are you trying to just do it for your computer?

#

or for the google result itself?

brave mantle
#

You can only change it for yourself

#

not for other people

deep cave
#

yes

mild bridge
#

ye

deep cave
#

I have no idea why you would want to, though. it would look far worse

#

okay.

#

well then I suppose it is possible, yes.

mild bridge
#

You'd have to write it in JS, though

#

iirc

deep cave
#

aperture mentioned writing a chrome extension, that'd be the way to do it.

#

and yes there'd be JS involved.

#

but for just swapping two elements it shouldn't be too complex.

mild bridge
#

this looks promising

native tide
#

monkey patch the css

mild bridge
#

yeah, this doesn't look to difficult

#

huh

#

chrome extensions seem pretty nifty

native tide
#

lol

deep cave
#

I actually wanted to write one for a while.

#

seems like a thing to do

mild bridge
#

yeah

#

not bad at all

deep cave
#

let's make that a goal for 2018, aps

#

we'll write a chrome extension. EACH.

mild bridge
#

:^)

deep cave
#

OFFICIAL PYTHON DISCORD CHROME EXTENSION

mild bridge
#

lmao

#

tooltips for python keywords

#

god, how annoying

deep cave
#

let's have it detect pictures of people on websites

#

and glue josephs face onto them

#

done

mild bridge
#

lmao

#

YES

#

I can see it happening already

native tide
#

hahaha

deep cave
#

josephify

#

your

#

chrome

#

it also detects any avatar you might be using on google, facebook, twitter etc and replaces that with joseph. and it changes your usernames to joseph.

#

so that you can be logged in as joseph, too!

mild bridge
#

hahaha

#

this will be a terrible extension

deep cave
#

I'd make that, tbh

#

make the repo, I'm in. :P

native tide
#

same

mild bridge
#

ok brb

#

currently seeing if I can make a bare extension to change the background of every page to hackerjosephโ„ข

#

alright, let's see if this works ๐Ÿ‘€

#

@deep cave @native tide version 1.0 is up bois

deep cave
#

ap, go study for your mocks

#

:D

mild bridge
#

:DD

deep cave
#

where's my invite

native tide
#

^

#

plus JS + CSS

#

i might end up doing nada

mild bridge
#

listen

#

I don't really know what I'm doing here at all

native tide
#

lol

#

im year 12 also

#

and i know far less

#

so

mild bridge
#

what A levels?

native tide
#

cs biology economics and phyisics

mild bridge
#

wew

#

I do two of those

native tide
#

econ and physics are for those half a level ones

mild bridge
#
  • maths
native tide
#

ugh i always forget what theyre called

mild bridge
#
body {
  background: url('https://cdn.discordapp.com/attachments/305126844661760000/413063511455957015/unknown.png') !important;
}
#

@deep cave how do I stretch to window size

#

pls help

native tide
#

modify width and height attributes of body?

mild bridge
#

I'll try that

native tide
#
  /* Full height */
  height: 100%;

  /* Center and scale the image nicely */
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;``` add this
#

maybe then itll work

#

oh

#

idk

#

i gave up with css

deep cave
#
background: url('someshit') no-repeat center
#

something like that

mild bridge
#
body {
  background: url('https://cdn.discordapp.com/attachments/305126844661760000/413063511455957015/unknown.png') no-repeat center center fixed !important; 
        -webkit-background-size: cover;
        -moz-background-size: cover;
        -o-background-size: cover;
        background-size: cover;
}
native tide
#

meh nearly had it

deep cave
#

you might need

background-size: cover

as well

#

yeah

#

that looks good

#

do that

mild bridge
#

okey

native tide
#

ok so i had most of it

#

lol

#

@mild bridge not economics

#

i just realised i said my options

#

but im only doing 3

mild bridge
#

ah right

#

I'm Maths, Physics and CS

#

my mocks are in 4 days lol

native tide
#

see i was going to go with maths

#

then my brain decided to do way better in biology

#

and i got asked to do that instead

mild bridge
#

nice

native tide
#

i miss maths

mild bridge
#

maths is fun

native tide
#

ikr

#

ugh the fun times we had

mild bridge
#

more fun than physics :'(

native tide
#

yup physics is just memoring equations and explaining experiments

hearty birch
#

Maths Physics CS and Economics here

willow jolt
#

hi

strange thorn
#

hi there

willow jolt
#

I'm trying to answer this question, but I know next to nothing about how mobile/web apps work:

#

Say you are trying to upload a photo to share with a photo sharing app. You see a non-specific error message, like "Sorry, something went wrong." List all the ways you can think of to try to fix or work around the error.

#

any ideas?

strange thorn
#

uhm

#

check internet conn
update the app
check if the server is aviable

willow jolt
#

what does conn stand for

strange thorn
#

connection

#

oh and of course

#

maybe something during transmission went wrong so try again

willow jolt
#

also can u elaborate on this: "check if the server is aviable"

strange thorn
#

Well there are multiple ways for example if the Devs have something like discords status (just Google discord status) you could check for that
If you are bored you could try to get the IP and port of the server and ping it / check if the port is open.

willow jolt
#

what is a port

strange thorn
#

Weellll

#

i guess you already know a system can host more than just a website?

willow jolt
#

like, a minecraft server?

#

im sorry

#

i am truly new to this

strange thorn
#

For example a MC server yes

#

So in order to make things easier some very clever persons thought of ports a port always hosts one service like a website a MC server etc

#

(ofc ports can be closed to if no service is running on them)

willow jolt
#

Try to get the IP and port of the website's server and ping it. Or check if the port is open.

#

does that sentence make sense

#

like

#

is it the app's server?

strange thorn
#

although check if the port is open CAN (not is can) be illegal

#

its a grey zone

#

and yes

#

i never said something about a website

willow jolt
#

so should i switch website to app

strange thorn
#

yes

#

may i ask where this question is from?

#

@willow jolt ?

willow jolt
#

i am a high school student trying to get into this summer web dev bootcamp hosted by google inc

#

but like

#

It's due at midnight

strange thorn
#

welp

#

4 am here

willow jolt
#

and im very misinformed

#

how is this list?

strange thorn
#

breakpoint setting seems a little overkill also, there is a difference between web and phone apps, all this debugging stuff isnt possible if we are talking about phone apps

#

but jan

#

you do realize these question are there to find out if you have the knowledge required to follow the bootcamp, if you cant answer them yourself you should prolly reconsider your opinion on this

willow jolt
#

nah it's for beginners who have never touched this content

#

like a gauge to see where they are at in the learning process

strange thorn
#

can gimme the source of the question?

willow jolt
strange thorn
#

and you are in which timezone?

willow jolt
#

YAYYYY

#

I HAVE

#

MORE TIME

#

thank you god bless you!!!

#

i didn't even notice that lmao

strange thorn
#

which timezone?

willow jolt
#

Central, why?

strange thorn
#

just wodnering

#

5 h left, how much did you think?

willow jolt
#

think about what?

strange thorn
#

how much time you had left

meager anchor
#

okay, I finally figured out how to request the necessary extra data for guild permissions. allauth wasn't as customizable as I was hoping, so I ended up forking it and I now have the data available. Now I want to change the Django user model's is_staff to check whether a certain permission bit is set for the guild permissions, and for that I need access to the associated social account. now I could just assign Staff status and other permissions manually, but I might as well just not use Discord then. Anyways, is there a way to customize that?

#

will the djangod @kind steppe please grant me his attention

deep cave
#

he's in switzerland

#

so, no.

meager anchor
strange thorn
#

damn

#

i missed him

kind steppe
#

@meager anchor no I hate django

strange thorn
#

Joph is the flasgod

eternal thunder
#

Yo

#

I'm working with Sanic right now

#

in Flask you have session

#

although I can't find that in Sanic

#

is there some sort of sanic session?

strange thorn
eternal thunder
#

in flask you don't have to store it, its with secret key or smth

meager anchor
#

sanic is very barebones

#

its made to go fast

eternal thunder
#

ik

marsh canyon
#

Hey guys I'm new here
I have a question relating with Django,I have pycharm community version and it doesn't support css file,I tried creating css file in other folder n tried to link,but it doesn't work,any suggestions?

strange thorn
#

yes css isnt supported by community

marsh canyon
#

Any way to add it by giving link href to other folder where css is located?

brave mantle
#

You don't need IDE support to use CSS

#

It just won't highlight or complete it for you

marsh canyon
#

Hmm,1 sec

#

<link rel="stylesheet" type="text/css" href="C:\Users\Home\Desktop\website_django\django.css" />

#

๐Ÿ‘†๐Ÿฝ ?

#

i tried to change IDE to eclipse pydiv but i started geting the error -"import error"

marsh canyon
marsh canyon
#

nvm,abandoned it and made a new one

shrewd sand
#

@marsh canyon should i be using powershell over cmd for python?

strange thorn
#

no

shrewd sand
#

why?

strange thorn
#

not really a good reason for it

shrewd sand
#

Not worth it?

strange thorn
#

yup

shrewd sand
#

Yeah thats what i thought

#

ty

#

btw

#

Its rly good

grand badge
#

How do i get my django site running on pythonanywhere?

brave mantle
#

Google is your friend, friend

grand badge
#

well i did use google whilst trying to find for tutorials

#

friend

brave mantle
#

Did this one help? Did you have trouble with a specific tutorial? Run into a specific problem?

#

Hm, I included an anchor in that URL but I don't see it on my tablet

#

Nope, it did send, okay.

grand badge
#

the tutorial didnt work for me, im stuk with a module not found error

#

this happens most of the time

marsh canyon
#

powershell just works fine with me ,i was using the pycharm terminal before tho @shrewd sand

brave mantle
#

GDPR will be upon us soon. If you run a website or service of any kind, you must be GDPR-compliant. If you are not EU-based, you risk fines and sanctions from the EU regardless, unless you personally take steps to prevent European users from making use of your services.

This article is a great primer on what this means to you as a developer. https://techblog.bozho.net/gdpr-practical-guide-developers/

Youโ€™ve probably heard about GDPR. The new European data protection regulation that applies practically to everyone. Especially if you are working in a big company, itโ€™s most likely that thereโ€™sContinue reading

deep prism
#

Is the 'forget me' function also the deletion of the account?

brave mantle
#

Yes

#

You are required to delete or anonymize data

strange thorn
#

........ That's just a total overkill

brave mantle
#

So, if you have say a blog platform, you delete the user account, and also the blog posts

#

You also keep a record of their user ID

#

That record is used for when you're restoring backups, so you know to not restore their data

strange thorn
#

The Patrick Mac hardies will come from everywhere

brave mantle
#

If a user has a profile page, this also extends to search results

#

So it's important that you make their profile 404 as well

#

Otherwise the search engines might miss the removal

deep prism
#

Reason i was asking is because I don't see the option to delete my profile on a website with wordpress backend, and i'd be surprised if wordpress isn't up 2 date yet.

brave mantle
#

Wordpress does not have a good reputation

#

This can be a manual process, by the way

#

But I imagine most people will want to automate it

long swan
#

@brave mantle can you post a tl;dr of that EU post?

brave mantle
#

No, not really

#

It's not trivial

#

This post is the closest to a tl;dr you will find

strange thorn
#

Why does the EU do this.......

brave mantle
#

It's a great regulation

#

It's just a complete pain in the ass for us

strange thorn
#

Wait

#

What if I have a blockchain service

#

I can't delete a user there

#

It would destroy the system

brave mantle
#

You will need to make sure your blockchain doesn't contain identifying info

#

User IDs are fine

strange thorn
#

Ah ok

brave mantle
#

It's stuff like usernames, emails, addresses, phone numbers, real names

strange thorn
#

I mean Google has been following this for years

#

Google has all features requested there

brave mantle
#

Google has a lot of it already, yeah

#

But not all of it

strange thorn
#

So it's basically a be like Google law

What's missing?

brave mantle
#

Well let's say for example you're using Google for advertising on your site

#

The user deletes their account

#

You will have to notify Google of this

#

So that they can delete their related advertising data

strange thorn
#

Yeah but that's a problem solved by Google

#

That's a client problem

#

You can request to be forgotten

brave mantle
#

Yeah, that is Google's problem, but it's not a solved one

#

No, you have an obligation to notify the third party

#

Any third parties that have had access to the data you collected

#

They must also remove the data

#

That's a guarantee you have to provide

strange thorn
#

Yes but I mean you can ask Google to delete your data Google has that service

#

So from Google's side it's ok

#

You have to take care of that

brave mantle
#

No, that isn't entirely true

#

A user with a Google account can request to be forgotten

#

But if you have a Google ad on a page only accessible to the user - for example, a private profile page

long swan
#

sigh, good luck web dev community

strange thorn
#

I see

brave mantle
#

If the profile page URL has a username in it, you have to notify Google

strange thorn
#

We are basically fucked

brave mantle
#

This is kind of the "wishful thinking" part of GDPR

strange thorn
#

The EU will injure major parts of the internet with this

brave mantle
#

Your responsibility ends at notifying the third party

#

So if Google doesn't have the procedures in place, that's on them

#

Of course, you will need a log of your contact with them

strange thorn
#

That's just...... I mean I get why they do it

#

But

#

.....

brave mantle
#

Yeah I know, it's tricky

#

It's a pain in the butt

#

But it's already passed, so we have to deal with it

deep cave
#

feels like they're testing in production

strange thorn
#

Can I ensure that my app has no EU users

brave mantle
#

Well that's nothing new @deep cave

#

No, that isn't enough @strange thorn

#

You need to ensure that nobody in the EU can even access your services

strange thorn
#

:(

#

How would one try to do that

#

I mean

brave mantle
#

It's uh, also not trivial

strange thorn
#

There is always VPN proxy etc

brave mantle
#

You would need an address verification system

deep cave
#

yeah

strange thorn
#

If the application runs on an EU server but isn't EU accessible is that ok?

brave mantle
#

Good question

#

I would say, probably not

strange thorn
#

Damn

brave mantle
#

By the way

#

GDPR goes a bit further than this

#

If you got someone's details from a third party, you have to give them the same access and rights as people that don't have an account on your site

#

If you collect any identifying information, you also have to collect enough information that a user could provide you with some data to verify themselves to get that access

#

This is the paradox of GDPR

#

Maybe you didn't need an email address before, but you might need it now

long swan
#

..l.. EU

brave mantle
#

Haha

#

That's more or less all the big details

#

There's a few smaller ones

#

For example, the right to rectification

#

You must allow users to edit all of the fields of their user profiles

#

Stuff like that

#

Yes, usernames as well

long swan
#

It would be nice if the internet community just stopped servicing EU users and let them suffer because of their legislations

brave mantle
#

I think it's the best Internet legislation the EU has come out with

#

It's just a pain to implement

#

The guarantees as a consumer are fantastic

#

And it puts pressure on America to follow suit

#

Some of it is super easy to implement as well, but they're picky about it

#

Like you have to explicitly gain consent for each use of a user's data, which means you can no longer have a huge terms document with a single checkbox at the bottom

deep prism
#

That checkbox thing is the most worthless thing.
I bet whatever they'll write there will either not make sense or isn't clear anyway. And since you can't continue without checking everything people just do it anyway.

brave mantle
#

Ah, well the thing is

#

Your system is going to have to deal with that too because it requires that users can revoke specific "checkboxes" later

deep prism
#

For the rest, like seeing your data and being able to delete your stuff, that is okay.

long swan
#

You must opt in, must opt ggwp

brave mantle
#

Well really this part of it is more concerned with marketing and such

#

So you have to allow people to use your services but opt out of you handing data to the company that does your marketing

#

Realistically if your service doesn't need a thing to operate, it can be optional

#

If it needs a thing, require it

#

I will be able to get back to working on Gear soon

#

Gear will fully support GDPR

#

Gotta brb, sorry

mild bridge
#

o/

brave mantle
#

Any other questions?

strange thorn
#

How to ensure the 16 thingy?

#

Not even the author is sure about that

vocal edge
#

Hi

strange thorn
#

Hi there

#

Welcome to the "EU fucked the internet talk"

vocal edge
#

oke nice ๐Ÿ˜ƒ

brave mantle
#

There's no good way to do it

strange thorn
#

....

brave mantle
#

You can request proof of identity but

#

You basically need someone to scan their passport in for you

#

Some sites actually do this

strange thorn
#

In other words whenever is set up a website now with user system etc I have serious law problems

brave mantle
#

Well, the approach given in the guide is probably fine

#

But honestly nobody knows how they expect us to enforce that

strange thorn
#

Email of parents come on

#

Ridiculous

#

Every ten year old could pass that

brave mantle
#

That's how sony does it

polar robin
#

about GDPR could you even do email subscription lists anymore

strange thorn
#

Yes

brave mantle
#

Yup

polar robin
#

since youre storing emails

strange thorn
#

You have to ensure its deleteable

polar robin
#

oh

strange thorn
#

Storing isn't forbidden

#

It's about erasing

brave mantle
#

Erasing isn't that hard

polar robin
#

do they fucken expect you to have a self destruct on facebook and some indian hacks in and clears Facebook

brave mantle
#

It's the deactivation part I'm curious about

strange thorn
#

Ggggggreeat

#

My PC isn't going to efi anymore

#

Fuck my life

deep prism
#

deactivation == restrict processing in the article?

brave mantle
#

Yeah

#

No processing, and also the data can't be accessible

deep prism
#

That just adding a boolean column to the user table where you filter on in most of the SQL clauses no?

brave mantle
#

Not even to back office staff

#

Yeah

#

But it's a curious requirement

deep prism
#

Yea that's true.

#

It's basically deleting the account without actually deleting it just yet :P

brave mantle
#

Yeah, I guess

proud igloo
#

hello guys

#

can anyone do a quick test for me?

deep prism
#

depends what it involves ^^

proud igloo
#

is each line bolder than the last?

#

this is what my mac is showing

#

but my hackintosh it works fine

deep prism
#

Yea if i open the link in a tab every line is bolder than the last.
In the discord preview it's not though. (400 is bolder than 500)

proud igloo
#

really weird

#

I don't know whether it is caching some font

brittle copper
#

Looks okay to me

cyan pilot
#

I'm using 32 bit palemoon (old version of firefox) on a windows computer

#

although it could be an issue with your browser, @proud igloo

proud igloo
#

haha

#

@cyan pilot why on earth

cyan pilot
#

it works fine

marsh canyon
#

path('', include('products.urls')) is there anything wrong in this? (in main urls.py)

#

i have an app called products

#

this is regarding django

#

and this also please path('',list_products , name='list_products'),

#

views

from .models import product

# Create your views here.

def list_products(request):
    products = product.objects.all()
    return render(request , 'product.html' , {'products ' :products})
#

please check the views and urls,my website is giving me a blank page

meager anchor
#

which error do you get

native tide
#

@marsh canyon

marsh canyon
#

np,its fixed

candid plaza
#

hello

grand badge
#

what are u making @marsh canyon ?

marsh canyon
#

just a simple website for practise where people post about their discord servers and post links and a person looking for a server can hook up the search for a server he is looking,im not that good at django but im trying to improve my skills

#

u can find my project(currently in progress) on github

#

@grand badge

grand badge
#

nice

#

im currently making a school website in django to get practise with making custom CMS's

marsh canyon
#

cool

grand badge
#

i got started with django in winter of 2017, itss reallyy good

marsh canyon
#

woah nice

#

i just started last week

grand badge
#

last week?

marsh canyon
#

im a bigenner

#

yep

grand badge
#

u came this far?

#

already?

marsh canyon
#

last 2 weeks

#

yes

grand badge
#

how long do u code a day?

marsh canyon
#

not everyday,i do on holidays like 2-3 hours

#

exams are currently going on so till 26th march im not free,but holidays between exam i code

grand badge
#

i dont know jack about authentication in django, ur really good!

marsh canyon
#

๐Ÿ˜… im still a noobie tho

grand badge
#

same

#

here

#

what resources do u use to learn django?

marsh canyon
#

youtube and docs and discord

#

there is a special server for django

strange thorn
#

๐Ÿคข django

grand badge
#

u wot m8?

brittle copper
#

i dont know jack about authentication in django, ur really good!

#

It is pretty easy